Provided by: lush_1.2.1-9+cvs20110227+nmu1build2_amd64 bug

NAME

       lush - Lisp Universal Shell

SYNOPSIS

       lush [@initfile][lushfile...args...]

DESCRIPTION

       lush starts the Lisp Universal Shell.

       Lush  is  an  object-oriented  Lisp  interpreter/compiler with features designed to please
       people who want to prototype large numerical  applications.  Lush  includes  an  extensive
       library  of  vector/matrix/tensor  manipulation,  a set of graphic functions, a simple GUI
       toolkit, and interfaces to various libraries such  as  OpenGL,  SDL,  the  SGI  Multimedia
       library  (video/audio  grabbing),  the  Numerical  Recipes library, and others. Lush is an
       ideal frontend script language for programming projects written in C or other languages.

RUNNING LUSH INTERACTIVELY

       Online help on the standard library is available by typing (helptool) at the Lush  prompt.
       You can leave Lush by typing CTRL-D at the prompt.

       On  startup,  Lush  loads various libraries from the sys and lsh directories, as well as a
       .lushrc file in the user's home directory. It is recommended to add  a  directory  lsh  in
       your  home  directory  and to include the line (addpath "your-home-directory/lsh") to your
       .lushrc so that your own Lush programs are found in Lush's search path.

       It is quite convenient to run Lush from within  Emacs,  which  can  be  done  by  creating
       somewhere  in  your  path  a symbolic link named "lisp" to the lush executable. Then, type
       ESC-X run-lisp in Emacs. It is probably a good idea to add  the  following  line  in  your
       .emacs so Emacs switches to Lisp mode when editing a Lush file:

         (setq auto-mode-alist (append (cons "\.lsh$" 'lisp-mode) auto-mode-alist))

RUNNING NON-INTERACTIVE LUSH SCRIPTS

       In  Unix,  Lush  can be used to write scripts that can be called from a shell prompt (like
       shell or Perl scripts). A list of command-line arguments are put in the argv variable.

       Here is an example: create a file (say "capargs") with the  following  content  (replacing
       the first line by the path to your lush executable):

         #!/bin/sh
         exec lush "$0" "$@"
         !#
         (printf "capitalizing the arguments:0)
         (each ((arg argv)) (printf "%s %s0 arg (upcase arg)))

       then,  make capargs executable: chmod a+x capargs. You can now invoke capargs at the shell
       prompt:

         % capargs asd gfdf
         capitalizing the arguments:
         capargs CAPARGS
         asd ASD
         gfdf GFDF

FILES

       /usr/share/lush
              The top of the Lush directory structure
       /usr/share/lush/src
              Source code of the interpreter
       /usr/share/lush/sys
              Core libraries (lush sources) without which Lush cannot run.  A  minimal/customized
              version of Lush needs only that directory to run.
       /usr/share/lush/etc
              Various shell scripts and utilities
       /usr/share/lush/include
       /usr/share/lush/lsh
              Library  files (lush sources) that are part of the standard distribution.  Although
              they are not required for Lush to run, life would really suck without them.
       /usr/share/lush/packages
              Library files (lush sources) for special applications  or  platforms,  or  programs
              that  have been contributed by users and cannot be assumed to be present/working in
              all installations of Lush.
       /usr/share/lush/local
              Lush libraries that are specific to your site.
       ~/.lushrc
              Personal Lush initialization file
       ~/.lush
              Personal Lush directory: on-demand built libraries, etc

HISTORY

       Lush is the direct descendant of the SN system. SN was first developed as a neural network
       simulator  with  a  Lisp-like  scripting language. The project was started in 1987 by Leon
       Bottou and Yann LeCun, and rewritten several times since then. SN was  used  at  AT&T  for
       many  research  projects  in  machine learning, pattern recognition, and image processing.
       Its various incarnations were used at AT&T Bell Labs, AT&T Labs, the Salk  Institute,  the
       University  of  Toronto,  Universite  of  Montreal,  UC  Berkeley, and many other research
       institutions. The commercial versions of SN were used in  several  large  companies  as  a
       prototyping tool: Thomson-CSF, ONERA.

SEE ALSO

       Use (helptool) in an interactive lush session for browsing of online documentation.

AUTHORS

       Lush  was  written  by  Leon  Bottou and Yann LeCun. Contributors include: Patrice Simard,
       Yoshua Bengio, Jean Bourrelly, Patrick Haffner, Pascal Vincent,  Sergey  Ioffe,  and  many
       others.

       This  manual  page  was written by Kevin Rosenberg <kmr@debian.org> for the Debian Project
       (but may be used by others).