Gauche Scheme for Ruby Programmers

If you’re a Ruby programmer that’s interested in Scheme and haven’t yet taken the plunge, I recommend trying Gauche Scheme.

Ruby is often described as being very lisp like. I find Gauche to be the most Ruby like lisp.

  • Gauche is actively developed
  • conforms to the most current Scheme standard (R7RS)
  • Starts extremely fast which is excellent for scripts.
  • Supports native threads and has no GIL.
  • Supports UTF-8 by default.
  • Supports regular expressions.
  • Everything is an object.
  • Uses a Common Lisp like object system (CLOS) that supports multiple dispatch.
  • Provides a complete API over standard POSIX system calls.
  • Includes a high level interface for evented IO built on Posix select.
  • Supports extensions through C much like Ruby.
  • Comes with a well structured and fairly complete standard library.
  • Includes many SRFI by default.

What Gauche is missing compared to Ruby is the vast ecosystem of external libraries, tools, and users.

What it provides instead is everything you’d expect from Scheme which makes a great foundation for building all the rest.

If you happen to be running Linux you can install it with gsi.

If you’re on any other operating system the Gauche website provides excellent instructions here

Also, if you’re a Vim user (many Ruby programmers are), I strongly recomend tmux, vim-slime and paredit.

If you’re really new to Scheme here’s some material that may help you get started.