Skip to content
A script to evaluate lisp expressions in multiple implementations
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Makefile Minor fixes, add ASDF system to allow building a binary. Aug 3, 2018
README.mess
cl-all.asd
cl-all.lisp
cl-all.sh

README.mess

## About CL-ALL
This is a simple script to run a snippet in several lisp implementations. Requires at least SBCL.

## How To
You can either build a fixed SBCL binary with ``make``, or symlink ``cl-all.sh`` to ``cl-all``. Either way, once ``cl-all`` is in your path:

::
cl-all '(print :hi)'
cl-all sbcl ecl '(print "Oh man!")'
cl-all --print '"Oh man"'
cl-all --file "something.lisp"
echo ":stdin" | cl-all --print
::

You can also load this system into your SBCL session and use it from the comfort of the REPL:

:: common-lisp
(cl-all:eval-in-lisp :ecl "(print call-arguments-limit)")
::

## Example Output
::
$ cl-all --print call-arguments-limit
 --> ABCL:     50
 --> Allegro:  16384
 --> CCL:      65536

 --> CLisp:    4096

 --> CMUCL:    536870911
 --> ECL:      65536
 --> MKCL:     2305843009213693951
 --> SBCL:     4611686018427387903
::

## CLI Reference
::
cl-all (implementation | option | snippet)*

  implementation:
    The given implementation is run. If no implementations are
    explicitly specified, all known and available implementations
    are used. See -l for a list of available implementations.
  
  option:
    --print -p   Causes the last form's value to be printed.
    --file  -f   Uses the given file as input.
    --eval  -e   Evaluates the given expression.
    --no-rc -n   Do not run implementation init files.
    --lisps -l   Lists all known and available implementations and exit.
    --help  -h   Show this usage prompt and exit.
    --           All further arguments are used as tokens to be evaluated,
                 concatenated by spaces.
  
  snippet:
    A lisp snippet to be evaluated.
  
  If no snippet, file, or eval option is given, the standard input is
  used to read forms from. Forms are read until EOF is encountered (C-d).
::

## Known Implementations
- ABCL
- Allegro
- CCL
- Clasp
- Clisp
- CMUCL
- ECL
- MKCL
- SBCL
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.