172 lines
6.5 KiB
Text
172 lines
6.5 KiB
Text
newlisp(1) Commandline Parameters newlisp(1)
|
|
|
|
|
|
|
|
NAME
|
|
newlisp - lisp like programming language
|
|
|
|
SYNOPSIS
|
|
newlisp [-n] [-x source target] [-h | -v] [-c | -C | -http] [-t
|
|
microseconds] [-s stack] [-m max-mem-megabyte] [[-l path-file | -L
|
|
path-file] [-p port-number | -d port-number]] [-w directory]
|
|
[lisp-files ...] [-e programtext]
|
|
|
|
DESCRIPTION
|
|
Invokes newLISP which first loads init.lsp if present. Then one or more
|
|
options and one or more newLISP source files can be specified. The
|
|
options and source files are executed in the sequence they appear. For
|
|
some options is makes sense to have source files loaded first like for
|
|
the -p and -d options. For other options like -s and -m it is logical
|
|
to specify these before the source files to be loaded. If a -e switch
|
|
is used the programtext is evaluated and then newlisp exits otherwise
|
|
evaluation continues interactively (unless an exit occurs during
|
|
lisp-file interpretation).
|
|
|
|
OPTIONS
|
|
-n Suppress loading of any init.lsp or .init.lsp initialization
|
|
file.
|
|
|
|
-x source target
|
|
Link the newLISP executable with a source file to built a new
|
|
target executable.
|
|
|
|
-h Display a short help text.
|
|
|
|
-v Display a version string.
|
|
|
|
-c Suppress the commandline prompt.
|
|
|
|
-C Force prompt when running newLISP in pipe I/O mode for Emacs.
|
|
|
|
-http only accept HTTP commands
|
|
|
|
-s stacksize
|
|
Stack size to use when starting newLISP. When no stack size is
|
|
specified the stack defaults to 1024.
|
|
|
|
-m max-mem-megabyte
|
|
Limits memory to max-cell-mem-megabyte megabytes for Lisp cell
|
|
memory.
|
|
|
|
lisp-files
|
|
Load and evaluate the specified lisp source files in sequence.
|
|
Source files can be specified using URLs. If an (exit) is exe-
|
|
cuted by one of the source files then newlisp exits and all pro-
|
|
cessing ceases.
|
|
|
|
-e programtext
|
|
Programtext is an expression enclosed in quotation marks which
|
|
is evaluated and the result printed to standard out device (STD-
|
|
OUT). In most UNIX system shells apostrophes can also be used to
|
|
delimit the expression. newLISP exits after evaluation of pro-
|
|
gramtext is complete.
|
|
|
|
-w directory
|
|
Directory is the start up directory for newLISP. Any file refer-
|
|
ence in a program will refer to this directory by default as the
|
|
current directory. This can be used to define a web root direc-
|
|
tory when in server mode.
|
|
|
|
-l -L path-file
|
|
Log network connections and newLISP I/O to the file in
|
|
path-file. -l will only log network connections or commandline
|
|
input or net-eval requests. -L will additionally log HTTP
|
|
requests and newLISP output from commandline and net-eval input.
|
|
|
|
-p port-number
|
|
Listen for commands on a TCP/IP socket connection. In this case
|
|
standard I/O is redirected to the port specified in the -p
|
|
option. Any specified lisp-files will be loaded the first time a
|
|
connection is made, that is, before text is accepted from the
|
|
port connection.
|
|
|
|
-d port-number
|
|
Run in demon mode. As for the -p option, but newLISP does not
|
|
exit after a closed connection and stays in memory listening for
|
|
a new connection.
|
|
|
|
-t microseconds-connection-timeout
|
|
Specifies a connection timeout when running in -p or -d demon
|
|
mode. Server will disconnect when no further input is read after
|
|
accepting a client connection.
|
|
|
|
-6 Starts newLISP in IPv6 'Internet Protocol version 6' mode. With-
|
|
out this switch newLISP willl start in IPv4 mode. The protocol
|
|
mode can also be switched with the built-in 'net-ipv' function
|
|
during runtime.
|
|
|
|
EXAMPLES
|
|
Start interactive session
|
|
newlisp
|
|
|
|
|
|
Excute a program
|
|
newlisp myprog.lsp
|
|
|
|
|
|
Excute a remote program
|
|
newlisp http://newlisp.org/example.lsp
|
|
|
|
|
|
Add 3 and 4, 7 prints on standard output
|
|
newlisp -e "(+ 3 4)"
|
|
|
|
|
|
newLISP is started as a server (the & indicates to LINUX to run the
|
|
process in the background) and can be connected to with telnet by issu-
|
|
ing telnet localhost 1234
|
|
newlisp -p 1234 &
|
|
|
|
|
|
newLISP is started as a server for another newlisp process connecting
|
|
with the net-eval function or HTTP requests. Connection timeout is 3
|
|
seconds.
|
|
newlisp -c -t 3000000 -d 4711 &
|
|
|
|
|
|
newLISP is started as a server handling HTTP requests only. Connections
|
|
are logged to the file /usr/home/www/log.txt
|
|
newlisp -l /usr/home/www/log.txt -http -d 8080 &
|
|
|
|
|
|
newLISP is started as a server handling HTTP requests and defining the
|
|
startup/web root directory
|
|
newlisp -http -d 8080 -w /usr/home/www/httpdocs &
|
|
|
|
When accepting HTTP commands a file httpd.conf can be loaded, which
|
|
will preprocess the path-name in the HTTP request
|
|
newlisp httpd.conf -http -d 8080 -w /usr/home/www/httpdocs &
|
|
|
|
If the file httpd.conf contains:
|
|
|
|
(command-event (fn (s)
|
|
(local (request)
|
|
(if (find "?" s) ; is this a query
|
|
(begin
|
|
(set 'request (first (parse s "?")))
|
|
; discover illegal extension in queries
|
|
(if (ends-with request ".exe")
|
|
(set 'request "GET /errorpage.html")
|
|
(set 'request s)))
|
|
(set 'request s))
|
|
request) ))
|
|
|
|
then all files ending in .exe will translate the request in to a
|
|
request for an error page, else the original request string is
|
|
returned.
|
|
|
|
|
|
EXIT STATUS
|
|
newLISP returns a zero exit status for normal termination unless an
|
|
exit command specifies a code to be returned. Non zero is returned in
|
|
case of abnormal exit.
|
|
|
|
AUTHOR
|
|
Lutz Mueller <lutz@nuevatec.com>
|
|
|
|
http://www.newlisp.org/ - the newLISP home page
|
|
|
|
|
|
|
|
version 10.6.0 April 2014 newlisp(1)
|
|
|