8

I know basics of Common Lisp. I've learned it using Emacs + SLIME, and I must say that without these two I wouldn't learn too much - using bare REPL is tough job. However, SLIME makes a great job at turning REPL into great environment for interactive programming.

This said, I'd like to learn Scheme with SICP book - it's always good to learn something new, and the book has good reviews. However, I wouldn't like to go back to bare REPL from Scheme - that's why I'd like to ask if there's some way to connect MIT Scheme with Emacs+SLIME, or something similar to turn it into something a bit more programmer-friendly.

3
  • github.com/nickg/swank-chicken (I haven't tried it myself, but it looks alive and well-worked on). There are different implementations of Scheme, you might want to first zero in on the Scheme implementation you want to use, and then look for the development tools. Guile is well integrated with Emacs, and it seems like the bond tightens, so it might be an option too.
    – wvxvw
    Oct 9 '14 at 21:08
  • Oh, sorry, I didn't see it's MIT Scheme, well, there's something: github.com/emacsmirror/slime/blob/master/contrib/… but I didn't try it either.
    – wvxvw
    Oct 9 '14 at 21:10
  • 1
    You can use Geiser(nongnu.org/geiser) alongside Quack(emacswiki.org/QuackMode). Geiser is awesome and if you want to work through SICP, I suggest dumping MIT Scheme and trying #lang planet neil/sicp (planet.racket-lang.org/…)
    – caisah
    Oct 10 '14 at 3:54
5

I think geiser-mode may provide what you are looking for at least for guile and racket, but apparently not MIT Scheme. I know that provides M-. to jump to symbol definition in environment, completion, and inline documentation help. Take a look at the introduction, and cheat sheet for a quick overveiw of features.

Alternative, it does appear mit-scheme has SWANK bindings for SLIME, and that may be incorporated into SLIME itself.

1
0

I haven't tried it in Emacs, but there is a racket language for sicp and racket-mode can be installed from melpa. It probably won't be as sophisticated as slime, but will probably give you function completion and documentation at least.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.