5 ms·
I have really fallen in love with LISP recently, specifically clojure. A strong type system is really needed for it to make me feel like I can confidently devel
by breadchris 1y ago
I have really fallen in love with LISP recently, specifically clojure. A strong type system is really needed for it to make me feel like I can confidently develop with it.
- vindarel 1y agojust get Common Lisp with this new Clojure collection and sequence API! https://github.com/dtenny/clj-coll https://github.com/dtenny/clj-coll
- nextos 1y agoA modern CL that borrows ideas from Clojure, and with a strongly typed language (Coalton) also available is indeed very appealing!
- vosper 1y agoHave you (or anyone else reading this) used Coalton? What's your experience been like? Seems quite appealing to me.
- Y_Y 1y agoThe language looks amazing on paper, the install process (last I tried) was a nightmare of fighting quicklisp.
- klibertp 1y agoThat'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?
- boogsbyte 1y agoFrom 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%2Fcoroutine.lisp https://github.com/kartik-s/sbcl/blob/coroutines/src%2Fcode%...
- klibertp 1y agoThank 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...
- boogsbyte 1y agoThere's great interest for it, not little. The challenge is who can do compiler programming, add a production ready implementation as contrib SBCL package, and maintain it?
- klibertp 1y agoHm, my impression is based on the lack of posts or articles with people demanding this to be a feature. I searched, and it just doesn't seem to come up in discussions, and when it does, it's invariably about cl-cont and problems with it. The first implementation doesn't need to be production-ready. And the maintenance burden (along with polishing the implementation and porting to other architectures) could be shared by a few people and done over time. Having a starting point in the form of CMUCL code (already adapted to SBCL!) is the perfect opportunity for everyone interested to chime in: enough voices in favor could convince someone capable to continue the work. Yet, there are literally just 3 comments under the ESL presentation video, and it's not mentioned anywhere else...
- nextos 1y agoMy experience is good, but I have only written smallish programs. Documentation is pretty polished. Installation-wise, NixPkgs is fairly straightforward.
- lucyjojo 1y agothere is typed clojure out there if you want https://typedclojure.org/ https://typedclojure.org/
- bmitc 1y agoThere is Typed Racket.
- jodleif 1y agoYou could also consider getting into pre/post conditions and specs - helps a lot especially at points with user/data input