For those who like to write Scheme without leaving Emacs, Geiser is probably the way to go.
The Racket guide for Emacs also recommends to install Quack, which I happened to try long ago for an introductory course in programming for Bioinformatics where we were using Scheme (I was using Chicken Scheme at that time).
I believe DrRacket (formerly PLT Scheme) is really a great software to learn Scheme and do serious stuff with it, including computational science. I know people would not necessarily consider Racket as a pure Scheme language. By the way, here are some of the most upvoted questions on Stack Overflow:
- What is the best Scheme or LISP implementation for OS X?
- What are the differences between Clojure, Scheme/Racket and Common Lisp?
- Dr Racket problems with SICP
For example, using a toy demo from Racket website, here is how it looks under the native Mac app:
And here is the same script processed through Emacs Geiser:
With Emacs, you just have to
M-x run-geiser to start the REPL (it is pretty fast to come up, unlike Clojure REPL). However, since
Geiser targets both Racket and Guile, I decided to compile Guile. I tried to install Guile some time ago, following a suggestion on Cross Validated where I provided a brief illustration with Scheme. But it soon reached to the point where I had too much dependencies to manage and I finally gave up. This time, it works perfectly well, and I suspect that this is because I added all those dependencies in the mean time (in particular, to install mu).
Pyret is a programming language designed to serve as an outstanding choice for programming education while exploring the confluence of scripting and functional programming.