- Scheme.org
- Reference
- Scheme Primer
- Guile - the scheme implementation we chose
Emacs comes with scheme-mode
built-in.
We chose the Guile implementation as it is a good beginner friendly implementation with manuals, docs, and a nice website (link in bio, errr 7 lines up). It was already installed on my system (I don't remember how or when) but on MacOS you can just brew install guile
.
Running guile
with no args opens up a REPL. Being used to the very nice clojure REPL, this one felt a little clunky but it's usable.
In common Lisp fashion, the REPL gives the emacs buffer information about your code and powers most things an LSP would. But for those outside of the emacs world, there is this that I didn't bother trying to install: scheme-lsp-server
There's no package manager but I found the install process for Guile modules to be well-documented and straightforward with established conventions for configuration and linking that made using an external package easy.
Most tools recommend installing with Guix, which seems like a good option if you're on GNU/Linux, but isn't supported on MacOS so we went without some tools that probably could've helped early on (like an LSP, for example)