2021-8-3 12:05 David Christensen <dpchrist@holgerdanske.com> wrote: > On 8/2/21 7:20 PM, Yuki Kimoto wrote: > > 2021-8-3 6:12 David Christensen <dpchrist@holgerdanske.com> wrote: > > >> CSP is a proven model for concurrency. > > > Generally Speaking, about concurrency like goroutines and channels, it's > > difficult if it isn't designed from the beginning of the language. > > > > If you want to implement it, see SPVM at once. SPVM is yet before version > > 1.0. > > > > https://metacpan.org/pod/SPVM > > > > You can also try out experiments on concurrency implementation on SPVM. > > > Static Perl Virtual Machine: > > https://yuki-kimoto.github.io/spvmdoc-public/ > > > That looks like you have invested a lot of effort. > > > At a glance, SPVM looks like an alternative to Perl XS (?). > > > Does SPVM support concurrency in any form(s)? > > > David > I'm sorry for introducing my personal development. >At a glance, SPVM looks like an alternative to Perl XS Yes. SPVM is a language transpiler to C. > Does SPVM support concurrency in any form(s)? First concurrency support is easy to implement C openmp binding. https://github.com/yuki-kimoto/SPVM/tree/master/examples/native/openmp/lib Second is concurrency support is easy to implement cuda/GUP binding. https://github.com/yuki-kimoto/SPVM/tree/master/examples/native/cuda_add Third is the ability to implement pthreads and goroutine. SPVM has a feature coping runtime using new_env api. https://metacpan.org/dist/SPVM/view/lib/SPVM/Document/NativeAPI.pm#new_env SPVM runtime is very small. I think when spawning threads, the small runtime is important for the performance. If goroutine can be implemented by SPVM module, new_env specification is important. Since it is before release, I can also think about data structures and specifications that allow goroutine or pthread.Thread Previous | Thread Next