Mark Bolusmjak
Mark Bolusmjak

Reputation: 24409

What is the best Scheme implementation for (sys-admin) shell scripts?

I've gone through the academic Scheme stuff (read SICP, The Little Schemer, The Seasoned Schemer, TSPL) and been playing with Scheme as a toy for a while.

But I want to get practical. Today I needed to write a shell script to do some batch file processing, and thought "why not do it in Scheme?". I did, and it was a joy.

Now I'm forced to wonder what the best implementation is for shell script type stuff. I know all implementations differ in terms of what they implement beyond R5RS. (Basically, they differ in all the useful and practical extensions you'd want in a scripting language).

So I'd like to pick one implementation and stick to it. I'm looking for something that:

  1. Is cross platform (Linux, OS X, Windows).
  2. Has extensions that are useful in day-to-day shell scripting, and those extensions are part of the base install.
  3. Is easy to install. (e.g. there are a number of pre-built binaries, and/or it is a standard package on many distros.)
  4. Is actively developed, with an active community.
  5. Has Unicode support.

I've been using Gambit so far. It seems to satisfy the above constraints. PLT seems like overkill. Wondering about Guile, MIT/GNU, etc.

Upvotes: 3

Views: 1537

Answers (3)

torus
torus

Reputation: 1059

I recommend Gauche, which is:

  1. Running on Linux, OS X, Windows w/ Cygwin and some other UNIX-like platforms,
  2. The base install contains POSIX-compliant system libraries and useful modules such as network protocols, file system, DBM, multithreading, etc...
  3. Several package system such as MacPorts, apt-get, yum are available (or just say configure, make and make install),
  4. There are active English and Japanese mailing list,
  5. Supports UTF-8 as an internal encoding.

Upvotes: 2

grettke
grettke

Reputation: 1417

PLT Scheme meets all of your criteria. Since it looks like you know that already, you should to use the MzScheme package. MzScheme is the runtime on top of which all of PLT is built.

If you were to download the full PLT Scheme install it would seem large as it includes a lot of documentation and an IDE in addition to the runtime.

Upvotes: 4

Nathan Shively-Sanders
Nathan Shively-Sanders

Reputation: 18389

Have you heard of scsh? I haven't used it, but it sounds a lot like what you want.

Upvotes: 4

Related Questions