Install
Installing on Windows
-
Click on a release from https://github.com/arvyy/islisp-truffle/releases/
-
Download
islisp.exe
artifact, place it in convenient location egC:\Program files\ISLISP\islisp.exe
-
Optionally; add above directory to your PATH system variable https://www.wikihow.com/Change-the-PATH-Environment-Variable-on-Windows .
Installing on Linux
-
Click on a release from https://github.com/arvyy/islisp-truffle/releases/
-
Download
islisp-linux
artifact, place it in convenient location eg/opt/islisp/islisp
-
You might need to execute
chmod +x islisp-linux
after downloading to make it executable. -
Optionally; add above directory to your PATH system variable https://www.baeldung.com/linux/path-variable .
Installing on Mac
-
Click on a release from https://github.com/arvyy/islisp-truffle/releases/
-
Download
islisp-mac
artifact, place it in/usr/local/bin/islisp
-
You might need to execute
chmod +x islisp-mac
after downloading to make it executable. -
You might need to execute
sudo xattr -r -d com.apple.quarantine islisp-macos
to remove the quarantine attribute (macOS Catalina and later).
Running on Docker
ISLISP images are provided on docker hub https://hub.docker.com/r/arvyy/islisp/tags
Installing in Polyglot context
One of the advantages of truffle framework is its support for interop between languages. However, the interpreter binary is statically compiled and does not include any other language by default. To include other languages, either:
-
Add necessary language’s maven dependencies to launcher/pom.xml and build from source;
-
Download and unpack a release of one of other truffle’s languages, eg https://github.com/oracle/graaljs/releases/ . Download
islisp.jar
artifact fromhttps://github.com/arvyy/islisp-truffle/releases/
. Putislisp.jar
into a directory that contains java modules, in graaljs example this would bemodules
folder. Finally, run the other language launcher with necessary flags to enable polyglot programming and thus make ISLISP language accessible; in graaljs example this would be runningnode --polyglot
.
Run
Run interpreter with -h
or --help
option to see command line help.
Interpeter parses options provided in the form of --<option>=<value>
, and transparently passes them through to truffle runtime. ISLISP specific options are as follows:
-
islisp.Sourcepath
— when usingrequire
form, islisp searches from roots provided through this option. Option value: set of paths, separated by:
.
Use --experimental-options
to enable experimental options.
See truffle documentation for other recognizable options.
Interpreter tools (debugger, profiler, …)
See https://www.graalvm.org/latest/tools/ for the list of available tools and necessary options for enabling it. ISLISP standalone interpreter by default comes with all tools included.
Execution modes
Invoking interpreter with a file parameter will run said file and exit upon completion.
Invoking interpreter with a -
parameter will make it read source from standard input, execute it, and exit upon completion.
Otherwise, interpreter is started in an interactive REPL mode.