1ol(1)                       General Commands Manual                      ol(1)
2
3
4

NAME

6       ol - an Owl Lisp compiler and interpreter
7

SYNOPSIS

9       ol [options] [path] ...
10

DESCRIPTION

12       Owl  Lisp is a purely functional variant of R7RS Scheme. Ol can be used
13       to evaluate programs interactively and compile them to native  binaries
14       via C.
15

OPTIONS

17       This  program  follows  the  usual  GNU  command line syntax, with long
18       options starting with two dashes (`-').  A summary of essential command
19       line  flats  options  is included below.  The complete list is shown on
20       the help page.
21
22       -h, --help
23              Show summary of options.
24
25       -v, --version
26              Show version of program.
27
28       -e, --eval string
29              Evaluate the string, print it's value, and exit  with  0  unless
30              errors occurred.
31
32       -t, --test string
33              Evaluate the string and exit with 1 if the value is #false, 0 if
34              it's true, or 127 if there is an error.
35
36       -o, --output output-file
37              Compile the given file to fasl or C code, and save the result to
38              the given output file.
39
40       -r, --run path
41              Load the file silently, and call the last value with the remainā€
42              ing command line arguments.
43
44       -x, --output-format format
45              Choose what ol should compile the given input to. Valid  options
46              are currently c and fasl. This is normally deduced from the file
47              suffix given in -o, and is thus not usually needed.
48
49       -O0, -O1, -O2
50              Write plain bytecode, compile some  common  functions  to  C  or
51              everything possible. These only make sense when compiling to C.
52
53       -S, --seccomp
54              Enter  seccomp  sandbox mode at startup. This is an experimental
55              Linux-only feature intended to be used for evaluating  untrusted
56              code.
57
58       -H, --heap n
59              Make sure there are at least n megabytes of heap space available
60              before entering SECCOMP sandbox.
61
62       -l, --load path
63              Resume execution of program state saved with suspend.
64

EXAMPLES

66       Make a simple binary
67               $ echo '(lambda (args) (for-each print args))' > test.l
68               $ ol -o test.c test.l
69               $ gcc -o test test.c
70               $ ./test foo bar
71
72       Compile in a pipe
73              $ echo '(lambda (args) (print (cons "I got " args)))' | ol -x  c
74              -o - | gcc -x c -o test - && ./test 11 22 33
75
76       Loading vs running files
77               $ echo '(print "Hello, world!")' > test.l
78               $ ol test.l
79               Hello, world!
80               $ echo '(lambda (args) (print "Hello, world!"))' > test.l
81               $ ol --run test.l arg1 arg2 arg3
82               Hello, world!
83

SEE ALSO

85       ovm(1),gcc(1),scheme48(1).
86

AUTHOR

88       Owl   Lisp   and   this   manual   page   were  written  by  Aki  Helin
89       <aki.helin@iki.fi>.
90
91
92
93                               December 14, 2011                         ol(1)
Impressum