Shelisp

Shelisp is a very short program that provides mechanisms for composing and running Unix shell.
Download

Shelisp Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Dr. Alexandru Corlan
  • Publisher web site:
  • http://dan.corlan.net/shelisp/

Shelisp Tags


Shelisp Description

Shelisp is a very short program that provides mechanisms for composing and running Unix shell. Shelisp is a very short program that provides mechanisms for composing and running Unix shell (particularly bash) commands and constructs from Common Lisp.To run shelisp, say at the command prompt: lisp -load shelisp.lispThis should start CMU Common Lisp and provide the prompt, *. A more convenient form could be to start emacs, and issue the command M-x cmulisp that will start an `inferior lisp' mode with cmu; then, say: (load "shelisp.lisp")The bang (!) escape to shell Now you can say (the '*' is already put there by cmulisp): * !lsAnd it will execute the shell ls command (by running a bash instance and passing the command to it. Of course, you are actually in Lisp. You can try this: * (defun factorial (x) (if (zerop x) 1 (* x (factorial (1- x)))))FACTORIAL* (factorial 33)8683317618811886495518194401280000000So, if you enter ``!'' the rest of the line (until the first end of line that is not escaped with a ``'') is interpreted as a bash command and the result is printed on the standard output. Now try: * !echo ?(+ 2 3) zuzu5zuzuThe `?' is the 'lisp escape'. It is followed by an s-expression which is read, executed and printed (with princ) and the printed result replaces the `?' and the expression in the shell command. It can be any Lisp expression. * !echo ?(+ 2/3 2/11) "


Shelisp Related Software