xenial (1) lush.1.gz

Provided by: lush_1.2.1-9+cvs20110227+nmu1build6_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).