1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
|
Content-type: text/html; charset=UTF-8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of PICOLISP</TITLE>
</HEAD><BODY>
<H1>PICOLISP</H1>
Section: User Commands (1)<BR>Updated: <BR><A HREF="#index">Index</A>
<A HREF="http://home.picolisp.com">Return to Main Contents</A><HR>
<A NAME="lbAB"> </A>
<H2>NAME</H2>
pil, picolisp - a fast, lightweight Lisp interpreter
<A NAME="lbAC"> </A>
<H2>SYNOPSIS</H2>
<B>pil</B>
[arguments ...] [-] [arguments ...] [+]
<BR>
<B>picolisp</B>
[arguments ...] [-] [arguments ...] [+]
<A NAME="lbAD"> </A>
<H2>DESCRIPTION</H2>
<B>PicoLisp</B>
is a Lisp interpreter with a small memory footprint, yet relatively high
execution speed. It combines an elegant and powerful language with built-in
database functionality.
<P>
<B>pil</B>
is the startup front-end for the interpreter. It takes care of starting the
binary base system and loading a useful runtime environment.
<P>
<B>picolisp</B>
is just the bare interpreter binary. It is usually called in stand-alone
scripts, using the she-bang notation in the first line, passing the minimal
environment in
<I>lib.l</I>
and loading additional files as needed:
<P>
<DL COMPACT><DT><DD>
#!/usr/bin/picolisp /usr/lib/picolisp/lib.l
</DL>
<DL COMPACT><DT><DD>
(load "@ext.l" "myfiles/lib.l" "myfiles/foo.l")
</DL>
<DL COMPACT><DT><DD>
(do ... something ...)
</DL>
<DL COMPACT><DT><DD>
(bye)
</DL>
<A NAME="lbAE"> </A>
<H2>INVOCATION</H2>
<B>PicoLisp</B>
has no pre-defined command line flags; applications are free to define their
own. Any built-in or user-level Lisp function can be invoked from the command
line by prefixing it with a hyphen. Examples for built-in functions useful in
this context are
<B>version</B>
(print the version number) or
<B>bye</B>
(exit the interpreter). Therefore, a minimal call to print the version number
and then immediately exit the interpreter would be:
<P>
<DL COMPACT><DT><DD>
$ pil -version -bye
</DL>
<P>
Any other argument (not starting with a hyphen) should be the name of a file to
be loaded. If the first character of a path or file name is an at-mark, it
will be substituted with the path to the installation directory.
<P>
All arguments are evaluated from left to right, then an interactive
<I>read-eval-print</I>
loop is entered (with a colon as prompt).
<P>
A single hyphen stops the evaluation of the rest of the command line, so that
the remaining arguments may be processed under program control.
<P>
If the very last command line argument is a single plus character, debugging
mode is switched on at interpreter startup, before evaluating any of the command
line arguments. A minimal interactive session is started with:
<P>
<DL COMPACT><DT><DD>
$ pil +
</DL>
<P>
Here you can access the reference manual (expects the shell variable BROWSER to
be set, defaults to "w3m")
<P>
<DL COMPACT><DT><DD>
: (doc)
</DL>
<P>
and the online documentation for most functions,
<P>
<DL COMPACT><DT><DD>
: (doc 'vi)
</DL>
<P>
or directly inspect their sources:
<P>
<DL COMPACT><DT><DD>
: (vi 'doc)
</DL>
<P>
The interpreter can be terminated with
<P>
<DL COMPACT><DT><DD>
: (bye)
</DL>
<P>
or by typing Ctrl-D.
<A NAME="lbAF"> </A>
<H2>FILES</H2>
Runtime files are maintained in the ~/.pil directory:
<DL COMPACT>
<DT>~/.pil/tmp/<pid>/<DD>
Process-local temporary directories
<DT>~/.pil/rc<DD>
Loaded after interpreter startup
<DT>~/.pil/viprc<DD>
Loaded by the Vip editor
</DL>
<A NAME="lbAG"> </A>
<H2>BUGS</H2>
<B>PicoLisp</B>
doesn't try to protect you from every possible programming error ("You asked for
it, you got it").
<A NAME="lbAH"> </A>
<H2>AUTHOR</H2>
Alexander Burger <<A HREF="mailto:abu@software-lab.de">abu@software-lab.de</A>>
<A NAME="lbAI"> </A>
<H2>RESOURCES</H2>
<B>Home page:</B>
<A HREF="http://home.picolisp.com">http://home.picolisp.com</A>
<BR>
<B>Download:</B>
<A HREF="http://www.software-lab.de/down.html">http://www.software-lab.de/down.html</A>
<P>
<HR>
<A NAME="index"> </A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">INVOCATION</A><DD>
<DT><A HREF="#lbAF">FILES</A><DD>
<DT><A HREF="#lbAG">BUGS</A><DD>
<DT><A HREF="#lbAH">AUTHOR</A><DD>
<DT><A HREF="#lbAI">RESOURCES</A><DD>
</DL>
<HR>
This document was created by
<A HREF="http://home.picolisp.com">man2html</A>,
using the manual pages.<BR>
Time: 08:01:21 GMT, March 29, 2021
</BODY>
</HTML>
|