173 lines
6.5 KiB
Text
173 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)
|
||
|
|