Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
newlisp(1)		    Commandline	Parameters		    newlisp(1)

NAME
       newlisp - lisp like programming language

SYNOPSIS
       newlisp	[-n]  [-x  source  target] [-h | -v] [-c | -C |	-http] [-t mi-
       croseconds] [-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  op-
       tions  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  re-
	      quests 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  op-
	      tion.  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 re-
       quest 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.7.2			   May 2017			    newlisp(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=newlisp&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help