What is the closest thing to Slime for Scheme?

13,906

Solution 1

You also might consider Scheme Complete:

http://www.emacswiki.org/cgi-bin/wiki/SchemeComplete

It basically provides tab-completion.

Solution 2

SLIME's contrib directory seems to have SWANK implementations for MIT Scheme and Kawa.

Solution 3

Geiser provides an excellent environment for Scheme. The latest version now also can interact with Chez Scheme, Chibi Scheme, Chicken Scheme as well as that old standby MIT Scheme, in addition to Guile and Racket. I would suggest installing it via Melpa, specially in order to get the latest version handling the much wider selection of REPLs.

Solution 4

For my work with mzscheme i usually use cmuscheme + quack, that provide almost what i need during development.

Bigloo comes with very powerful bee-mode.

And for gauche you can use GCA package that provides names completion, display of function's descriptions & inserting of code templates

Update: I published article about Scheme + Emacs integration on my site

Solution 5

A commentator has said: "DrScheme IDE has emacs key bindings" and it is a highly regarded IDE with many of the features you explicitly listed.

Additionally, scheme-mode for Emacs provides some of the features from SLIME - the integrated REPL, the ability to send forms to that REPL and to load entire files. As far as I know, there is no equivalent, in general for the scheme's you've listed, for things like connecting to a running image remotely (versus a scheme repl in an Emacs buffer), or the debugger integration.

Share:
13,906

Related videos on Youtube

Ryszard Szopa
Author by

Ryszard Szopa

I have been trained to become a philosopher, but I prefer programming.

Updated on June 03, 2022

Comments

  • Ryszard Szopa
    Ryszard Szopa almost 2 years

    I do most of my development in Common Lisp, but there are some moments when I want to switch to Scheme (while reading Lisp in Small Pieces, when I want to play with continuations, or when I want to do some scripting in Gauche, for example). In such situations, my main source of discomfort is that I don't have Slime (yes, you may call me an addict).

    What is Scheme's closest counterpart to Slime? Specifically, I am most interested in:

    • Emacs integration (this point is obvious ;))
    • Decent tab completion (ideally, c-w-c-c TAB should expand to call-with-current-continuation). It may be even symbol-table based (ie. it doesn't have to notice a function I defined in a let at once).
    • Function argument hints in the minibuffer (if I have typed (map |) (cursor position is indicated by |)), I'd like to see (map predicate . lists) in the minibuffer
    • Sending forms to the interpreter
    • Integration with a debugger.

    I have ordered the features by descending importance.

    My Scheme implementations of choice are:

    • MzScheme
    • Ikarus
    • Gauche
    • Bigloo
    • Chicken

    It would be great if it worked at least with them.

  • Ryszard Szopa
    Ryszard Szopa over 15 years
    Yes, of course I've seen Slime48. However, (a) it works only with Scheme48, (b) only with an older version of Scheme 48. You've got a point, though, I should have mentioned my Scheme implementations of choice in the question (I've edited it appropriately).
  • GDP2
    GDP2 over 7 years
    At this point in time, Geiser claims support for quite a bit more than just Racket and Guile: github.com/jaor/geiser#requirements. This is also mentioned in @haziz's answer: stackoverflow.com/a/28998868/2636454.