Erlang style processes in Common Lisp
shenanigans at sonic.net
shenanigans at sonic.net
Tue Aug 18 03:40:40 UTC 2015
On 08/17/2015 10:15 AM, Max Rottenkolber wrote:
> On Mon, 03 Aug 2015 08:12:36 -0700, shenanigans-65eDfwRo+1xeoWH0uzbU5w
> wrote:
>
>> Creators of Erlang have a Lisp background, and one feature of the Erlang
>> VM (BEAM) that I'd like back-ported into Common Lisp is their process.
>>
>> An Erlang "process" is cheap to create, cheap to destroy, cheap when
>> blocked, and upon exit performs bulk gc of its allocated memory; e.g.,
>> munmap().
> I have to voice interest. I would love for a CL implementation to support
> lightweight threads.
There was a successful IndieGoGo campaign for SBCL features in the
recent past, so might there be someone interested, willing and able to
pursue implementing something like this?
This can be its own thing rather than any attempt at paying homage to
Erlang or BEAM vm: for me at least, it's about runtime performance and
avoiding the big gc hits by discarding an entire heap upon worker exit
but in a way that accommodates hundreds of thousands of concurrent
workers. Start small, and build from there. Erlang & BEAM address all
sorts of use cases for which a Lisp system wouldn't necessarily need to
be constrained-- and keeping it more Lispy anyway.
I personally would contribute a few thousand US dollars for such an
effort, as it's beyond my knowledge of SBCL internals at this time.
Extending ECL or as a implementation-specific package for it might be
another option, but again, this is beyond my knowledge of its internals.
While I respect the various languages orbiting Erlang, I'd rather use
Common Lisp.
Thanks,
-Daniel
More information about the pro
mailing list