File: man.html

package info (click to toggle)
picolisp 25.12-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 7,388 kB
  • sloc: ansic: 3,092; javascript: 1,004; makefile: 107; sh: 2
file content (209 lines) | stat: -rw-r--r-- 4,597 bytes parent folder | download | duplicates (4)
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">&nbsp;</A>
<H2>NAME</H2>

pil, picolisp - a fast, lightweight Lisp interpreter
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>

<B>pil</B>

[arguments ...] [-] [arguments ...] [+]
<BR>

<B>picolisp</B>

[arguments ...] [-] [arguments ...] [+]
<A NAME="lbAD">&nbsp;</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 &quot;@ext.l&quot; &quot;myfiles/lib.l&quot; &quot;myfiles/foo.l&quot;)
</DL>

<DL COMPACT><DT><DD>
(do ... something ...)
</DL>

<DL COMPACT><DT><DD>
(bye)
</DL>

<A NAME="lbAE">&nbsp;</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 &quot;w3m&quot;)
<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">&nbsp;</A>
<H2>FILES</H2>

Runtime files are maintained in the ~/.pil directory:
<DL COMPACT>
<DT>~/.pil/tmp/&lt;pid&gt;/<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">&nbsp;</A>
<H2>BUGS</H2>

<B>PicoLisp</B>

doesn't try to protect you from every possible programming error (&quot;You asked for
it, you got it&quot;).
<A NAME="lbAH">&nbsp;</A>
<H2>AUTHOR</H2>

Alexander Burger &lt;<A HREF="mailto:abu@software-lab.de">abu@software-lab.de</A>&gt;
<A NAME="lbAI">&nbsp;</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">&nbsp;</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>