Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

shell

scheme

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.

like image 515
Mark Bolusmjak Avatar asked Dec 17 '25 14:12

Mark Bolusmjak


2 Answers

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.

like image 80
grettke Avatar answered Dec 19 '25 06:12

grettke


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

like image 24
Nathan Shively-Sanders Avatar answered Dec 19 '25 06:12

Nathan Shively-Sanders



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!