5 ms·
I am still waiting for all my favourite applications to be extendable in GNU Guile. On a more general note, I am still waiting for the world to fall for lisp i
by Johnny_Brahms 9y ago
I am still waiting for all my favourite applications to be extendable in GNU Guile.
On a more general note, I am still waiting for the world to fall for lisp in general.
- jknoepfler 9y ago> On a more general note, I am still waiting for the world to fall for lisp in general. Gah, aren't we all? Watching John Carmack push Scheme for the Oculus Rift 2 [https://www.youtube.com/watch?v=ydyztGZnbNs https://www.youtube.com/watch?v=ydyztGZnbNs] made me feel like something was right in the universe.
- leavethebubble 9y agoWhy not just leave the lisp-bubble and admit it's a terrible type of language which is behind of ML languages in terms of productivity, safety and performance?
- socksy 9y agoGood thing that there isn't an ML bubble then ;)
- marcosdumay 9y ago> Gah, aren't we all? Since I found Haskell, no. Not anymore. And I don't expect Haskell to take over the world either. I do expect a large crop of new languages that extend on the concept, and some of them to take over the world.
- eadmund 9y agoAs someone who's spent the last week implementing two different Schemes atop two different languages (Lua & Go), I think I can explain why GNU Guile didn't take off: Scheme. The problem with Scheme is that it's an utterly lovely little language with some wonderfully neat concepts which is great for teaching students about continuations … and it happens to have some broken features, like DYNAMIC-WIND instead of UNWIND-PROTECT, and some design decisions seemed wise at the time but in retrospect were foolish (Lisp-1 seems really awesome, right until you have to use it every day; eliminating NIL and making '() truthy seems very elegant and orthogonal but is actually a right royal pain — and don't even get me started about forbidding (car '())). Scheme pursued a foolish simplicity, foregoing the complexity necessary to deal with the real world. It's a wonderful language for implementing language interpreters, but I wouldn't want to write large programs in it. For that, the only thing worth using is Common Lisp.
- Johnny_Brahms 9y agoI don't happen to agree with you on eliminating NIL. I don't understand what the royal pain is. And dynamic-wind is the price you have to pay for call/cc. UNWIND-PROTECT is not the same thing. Multi-shot continuations is he reason. One way would be having explicit one-shot continuations and escape continuations. Those are faster and will make UNWIND-PROTECT work. I am more in favour of delimited continuations though. Delimited continuations makes that a bit simpler (since you can easily implement something like dynamic wind using them).