Swank server for r7rs Schemes
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
common fix bug: string instead of bytevector Jan 22, 2019
specific mit: working on it Jan 22, 2019
LICENSE Initial commit Jan 15, 2018
README.org readme update Jan 18, 2019
bigloo-swank.scm
bigloo.sh
chez-swank.sls update swank image api Sep 25, 2018
chez.sh updates Feb 26, 2018
chibi-swank.sld
chibi.sh
chicken-swank.scm
chicken.sh
cyclone-swank.sld fix several schemes Mar 13, 2018
cyclone.sh initial commit Jan 15, 2018
gambit-swank.sld initial commit Jan 15, 2018
gambit.sh
gauche-swank.sld gauche: correct import name Jan 18, 2019
gauche.sh fix several schemes Mar 13, 2018
gerbil-build.ss Provide a proper gerbil package Jan 16, 2018
gerbil-r7rs.sh fix several schemes Mar 13, 2018
gerbil-swank.ss updates Feb 26, 2018
gerbil.pkg
gerbil.sh updates Feb 26, 2018
guile-swank.scm apropos for guile Feb 8, 2018
guile.sh
kawa-swank.sld
kawa.sh add stubs Jan 29, 2018
larceny-swank.sld
larceny.sh several fixes for larceny, still not working May 18, 2018
mit-swank.sld mit: working on it Jan 22, 2019
mit.sh initial commit Jan 15, 2018
racket-swank.sld
racket.sh

README.org

Swankish, a SLIME swank for Schemes

Schemes

Support for various Schemes varies in quality. Not everything works on every Scheme.

See each Schemes entry for how to configure it in your Emacs configuration.

Chibi Scheme

(defun chibi-scheme-start-swank (file encoding)
  (format "%S\n\n" `(start-swank ,file)))
(setq slime-lisp-implementations
      (cons '(chibi-scheme ("chibi-scheme" "-A/path/to/r7rs-swank" "-m" "(chibi-swank)")
                           :init chibi-scheme-start-swank)
            slime-lisp-implementations))

Gerbil Scheme

(defun gerbil-scheme-start-swank (file encoding)
  (format "%S\n\n" `(begin (import (ecraven gerbil-swank)) (start-swank ,file))))
(setq slime-lisp-implementations
      (cons '(gerbil-scheme ("gxi" "-:d-" "--lang" "r7rs")
                            :init gerbil-scheme-start-swank
                            :env "GERBIL_LOADPATH=/path/to/r7rs-swank/")
            slime-lisp-implementations))

Chez Scheme

You’ll also need https://github.com/ecraven/chez-scheme-libraries.

(defun chez-scheme-start-swank (file encoding)
  (format "%S\n\n" `(begin (import (chez-swank)) (start-swank ,file))))
(setq slime-lisp-implementations
      (cons '(chez-scheme ("chez-scheme" "--libdirs" "/path/to/r7rs-swank:/path/to/chez/libs")
                          :init chez-scheme-start-swank)
            slime-lisp-implementations))

Gauche

(defun gauche-scheme-start-swank (file encoding)
  (format "%S\n\n" `(begin (import (gauche-swank)) (start-swank ,file))))
(setq slime-lisp-implementations
      (cons '(gauche-scheme ("gosh" "-r7" "-A/path/to/r7rs-swank" "-l" "gauche-swank.sld")
                            :init gauche-scheme-start-swank
                            :env "GAUCHE_KEYWORD_IS_SYMBOL=T")
            slime-lisp-implementations))

Chicken Scheme

(defun chicken-scheme-start-swank (file encoding)
  (format "%S\n\n" `(begin (load "chicken-swank") (start-swank ,file))))
(setq slime-lisp-implementations
      (cons '(chicken-scheme ("csi" "-R" "r7rs")
                             :init chicken-scheme-start-swank
                             :directory "/path/to/r7rs-swank/")
            slime-lisp-implementations))

Kawa

(defun kawa-start-swank (file encoding)
  (format "%S\n\n" `(begin (import (kawa-swank)) (start-swank ,file))))
(setq slime-lisp-implementations
      (cons '(kawa ("kawa" "-f" "kawa-swank.sld" "-e" "(eval (read) (interaction-environment))")
                   :init kawa-start-swank
                   :directory "/path/to/r7rs-swank/")
            slime-lisp-implementations))

[3/6]

  • [ ] proper information about the current Scheme
  • [X] redirect output to Slime
  • [X] inspector
  • [ ] debugger
  • [ ] tracing
  • [X] image support