Hacker News new | ask | show | jobs
by vindarel 411 days ago
just get Common Lisp with this new Clojure collection and sequence API! https://github.com/dtenny/clj-coll
1 comments

A modern CL that borrows ideas from Clojure, and with a strongly typed language (Coalton) also available is indeed very appealing!
Have you (or anyone else reading this) used Coalton? What's your experience been like? Seems quite appealing to me.
My experience is good, but I have only written smallish programs. Documentation is pretty polished.

Installation-wise, NixPkgs is fairly straightforward.

The language looks amazing on paper, the install process (last I tried) was a nightmare of fighting quicklisp.
That's on quicklisp, not Coalton. Honestly, quicklisp is one of the worst parts of CL nowadays (right after the lack of coroutines[1], which is by far the worst offender.) It should have been replaced a long time ago. ASDF3 provides a lot of flexibility, and quicklisp uses maybe 15% of its capabilities. There are reasons why it's still so bad, but it gets less and less excusable each year :(

[1] Does anybody know how to ping Kartik Singh about the coroutines implementation in SBCL? Apparently, he made an experimental port of the green threads implementation from CMUCL, but I can't find it anywhere online, nor any obvious way to catch anyone involved. Is the mailing list the only way?

From what I heard he's not working on it anymore but the code can be found here:

https://github.com/kartik-s/sbcl/blob/coroutines/src%2Fcode%...

Thank you!! I was very interested in `convert-thread-to-coroutine` - I saw it on the ELS presentation, and when I went spelunking in the CMUCL codebase, I found the prototypes for `fork` and `resume`, but (probably because CMUCL is single-threaded?) nothing that would suggest how that `convert...` should look like.

Why is there so little interest in green threads/coroutines in CL community? cl-cont really isn't something to point to when asked about C10K problem... or yield/yield*... or async/await...