Content-type: text/html; charset=UTF-8

# PICOLISP

Section: User Commands (1)
Updated:
Index Return to Main Contents

## NAME

pil, picolisp - a fast, lightweight Lisp interpreter

## SYNOPSIS

pil [arguments ...] [-] [arguments ...] [+]
picolisp [arguments ...] [-] [arguments ...] [+]

## DESCRIPTION

PicoLisp 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.

pil is the startup front-end for the interpreter. It takes care of starting the binary base system and loading a useful runtime environment.

picolisp 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 lib.l and loading additional files as needed:

  #!/usr/bin/picolisp /usr/lib/picolisp/lib.l

  (load "@ext.l" "myfiles/lib.l" "myfiles/foo.l")

  (do ... something ...)

  (bye)

## INVOCATION

PicoLisp 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 version (print the version number) or bye (exit the interpreter). Therefore, a minimal call to print the version number and then immediately exit the interpreter would be:

  $ pil -version -bye

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.

All arguments are evaluated from left to right, then an interactive read-eval-print loop is entered (with a colon as prompt).

A single hyphen stops the evaluation of the rest of the command line, so that the remaining arguments may be processed under program control.

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:

  $ pil +

Here you can access the reference manual (expects the shell variable BROWSER to be set, defaults to "w3m")

  : (doc)

and the online documentation for most functions,

  : (doc 'vi)

or directly inspect their sources:

  : (vi 'doc)

The interpreter can be terminated with

  : (bye)

or by typing Ctrl-D.

## FILES

Runtime files are maintained in the ~/.pil directory:

~/.pil/tmp/<pid>/
  Process-local temporary directories
~/.pil/rc
  Loaded after interpreter startup
~/.pil/viprc
  Loaded by the Vip editor

## BUGS

PicoLisp doesn't try to protect you from every possible programming error ("You asked for it, you got it").

## AUTHOR

Alexander Burger <abu@software-lab.de>

## RESOURCES

Home page: http://home.picolisp.com
Download: http://www.software-lab.de/down.html

## Index

NAME
SYNOPSIS
DESCRIPTION
INVOCATION
FILES
BUGS
AUTHOR
RESOURCES

This document was created by man2html, using the manual pages.
Time: 08:01:21 GMT, March 29, 2021