Not your parents’ shell

The developers of scsh, the Scheme shell, have just released version 0.6.7 of their awesome Scheme implementation. Scsh is, in my opinion, simply the best scripting language around, by a long stretch. It was initially implemented by Olin Shivers on top of scheme48, as a result of his problems with traditional shell languages: he wrote a detailed rationale on the design principles behind scsh that is full of insight and a must read. In addition, this page is full of writings by Olin and other minds behind s48/scsh (like Michael Sperber or Martin Gasbichler) with interesting details on many aspects of scsh’s implementation.

CommanderDuring the last years, scsh has become, slowly but surely, my default scripting tool (emacs’ eshell is also fine, but, you know, elisp is not scheme), my only nit being its lack of a shell prompt powerful enough to fully replace zsh or bash. But, lo and behold, it seems the writing may be on the wall for my bash/zsh’s days: a beauty called Commander S is well underway. Commander S is an interactive frontend for scsh, based on the ncurses library, described in the workshop paper Commander S – The shell as a browser, by Gasbichler and Knauel. In the author’s words:

Commander S is a new approach to interactive Unix shells based on interpretation of command output and cursor-oriented terminal programs. The user can easily refer to the output of previous commands when composing new command lines or use interactive viewers to further explore the command results. Commander S is extensible by plug-ins for parsing command output and for viewing command results interactively. The included job control avoids garbling of the terminal by informing the user in a separate widget and running background processes in separate terminals. Commander S is also an interactive front-end to scsh, the Scheme Shell, and it closely integrates Scheme evaluation with command execution.

Although it’s not yet released, the brave and bold among you can already give it a try from its CVS repository.

(I wish i had time for Conjure: one of the features i had in mind was some sort of interactive build tasks inspector, and Commander S’s plug-ins look like an excellent implementation vehicle for such a thing. You’re not looking for a nifty scheme project, are you?)

Tags: , ,

Posted in Hacks, Scheme. 3 Comments »
Be the first to like this post.

3 Responses to “Not your parents’ shell”

  1. Chris Perkins Says:

    You’re not looking for a nifty scheme project, are you?

    You’ve already mentioned that you don’t have much free time. But, maybe take it to Google’s Summer of Code and mentor it. I believe there are a few days left before the submission deadline.

    Chris

    P.S. I _love_ this BLOG. I appreciate the effort it must take. Thanks.

  2. jao Says:

    Chris, thanks for your kind words. Yes, i was aware of Google’s summer of code, but, unfortunately i cannot commit right now to a decent mentorship. If anyone is willing to help, i would collaborate in making the submission, or in helping anyone wanting to take on the project outside GSC. If no one steps up, i’ll just let Conjure hibernate by now and, with luck, present it to next year’s edition.

  3. Marco Bakera Says:

    I think the smiley in your posting above is hiding that you meant scheme48 as you wrote scheme4 :)


Leave a Reply

Gravatar
WordPress.com Logo

Please log in to WordPress.com to post a comment to your blog.

Twitter picture

You are commenting using your Twitter account. (Log Out)

Facebook photo

You are commenting using your Facebook account. (Log Out)

Connecting to %s