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.

dgtized
  • 4,169
  • 20
  • 41
MatthewRock
  • 1,453
  • 13
  • 27
  • https://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 09 '14 at 21:08
  • Oh, sorry, I didn't see it's MIT Scheme, well, there's something: https://github.com/emacsmirror/slime/blob/master/contrib/swank-mit-scheme.scm but I didn't try it either. – wvxvw Oct 09 '14 at 21:10
  • 1
    You can use Geiser(http://www.nongnu.org/geiser/) alongside Quack(http://www.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` (http://planet.racket-lang.org/display.ss?package=sicp.plt&owner=neil) – caisah Oct 10 '14 at 03:54

2 Answers2

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.

dgtized
  • 4,169
  • 20
  • 41
  • 1
    It turns out that Geiser does have support for MIT Scheme these days: http://www.nongnu.org/geiser/geiser_2.html#Must-needs. It currently says it supports MIT/GNU Scheme 9.1.1 or better. – GDP2 Apr 17 '17 at 20:52
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.

wdkrnls
  • 3,657
  • 2
  • 27
  • 46