4 ms·
Surprisingly I found Scheme support in Emacs underwhelming (disclaimer: I'm a Windows user). The best package for Scheme in Emacs seems to be Geiser [1], but it
by emmanueloga_ 6y ago
Surprisingly I found Scheme support in Emacs underwhelming (disclaimer: I'm a Windows user). The best package for Scheme in Emacs seems to be Geiser [1], but it seems pretty basic when compared with Slime [2]. Perhaps Geiser+Guile is a different story if running on Unix, but Slime on Windows just works, so that's a plus for Common Lisp :-).
1: https://www.nongnu.org/geiser/ https://www.nongnu.org/geiser/
2: https://common-lisp.net/project/slime/ https://common-lisp.net/project/slime/
- aijony 6y agoGeiser+Guile does work quite fine under Linux for me. Speaking of Scheme and Slime, I have heard of Swank which is for using MIT, Ikarus, Larceny, and Kawa Schemes in Slime.
- fiddlerwoaroof 6y agoMy general sense is that the scheme community doesn’t have the “live system” culture the way the Common Lisp and Clojure communities do: schemes generally seem to deemphasize things like live code updates in favor of a more “batch” compiling strategy: I’ve especially noticed this when talking to people in the Racket community, but my general sense is that Racket inherited this from scheme.
- aijony 6y agoI'm quite an amateur schemer and have never used Racket, but Christopher Webber's talk [1] gives me the opposite impression and that Racket diverged from the "live system" culture. In my experience Guile is usually pretty good when it comes to updating things on the fly through the REPL, but there are some gotchas. [1] https://archive.fosdem.org/2019/schedule/event/guileracket/ https://archive.fosdem.org/2019/schedule/event/guileracket/
- fmakunbound 6y agoMy impression of Scheme in general as well. Scheme REPL top-levels typically come with some caveats which is an indicator of live system programming being a second class feature.
- dang 6y agoI'm not sure about Schemes in general but you've described my experience of Racket precisely. It's somehow a completely different feel. For me the 'live system' Lisp spirit is fluid and always makes things modifiable and bend to the will of the programmer. The 'batch' sensibility thwarts this. It shows up particularly in module systems that force you to jump through hoops that aren't worth it and that compound into difficulty upon difficulty. In this respect the Common Lisp package system has always struck me as a miracle of design: it allows disparate systems to compose, while allowing the programmer full access to whatever they want to do. You just sometimes need to type an extra colon—a small price to pay.