1. 32
    1. 2

      Sounds pretty cool. One thing I didn’t see addressed here was, what’s the story for multiprocessing? I assume since it’d be a huge chunk of work and it isn’t mentioned that SMP and a memory model aren’t in this.

      1. 5

        Here is I think the interesting bullet point:

        It has concurrency based on Concurrent ML with an API surface mostly nicked from fibers for Guile. I/O is non-blocking by default. If you’re familiar with Golang then this part will feel familiar.

        guile-fibers is a cooperative multiple POSIX threads scheduler that implements work stealing among threads. I don’t know what part of fibers is implemented in Loko, tho. I think loko has not POSIX or SMP.

        1. 1

          When I read that bit I parsed it as plausibly implying concurrency like gevent or whatever has: green threads implemented as coroutines and nonblocking I/O, but still all running on a single CPU core.

          1. 1

            guile-fibers run on multiple threads and those are lightweight threads too, they do not block on network operations.

            I asked the maintainer of loko, he said there is no support for multiple CPU in loko as of yet.