Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • Home > Linux > System > Shells

    Shelisp 3.2

    Download button

    No screenshots available
    Downloads: 534  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Fair (2.0/5)
    12 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Dr. Alexandru Corlan | More programs
    GPL / FREE
    January 16th, 2012, 18:54 GMT [view history]
    ROOT / System / Shells

     Read user reviews (0)  Refer to a friend  Subscribe

    Shelisp description

    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.lisp

    This 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):

    * !ls

    And 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)
    8683317618811886495518194401280000000

    So, 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) zuzu
    5zuzu

    The `?' 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) "

    Product's homepage

    What's New in This Release: [ read full changelog ]

    · A few more functions were added (wget-test, bash-result), and this version is rereleased under the Lisp LGPL.

      


    TAGS:

    composing shell | running shell | Common Lisp | Shelisp | composing | running

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM