No description or website provided.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


li is a little lisp library and interpreter based on Scheme.

li is the lisp interpreter. libli.a is the li library.

The goal of this project is to provide a very tiny lisp library for embedded
scripting in C applications.

If you've used a lisp before, the syntax here is nothing new.  If not, find a
Scheme tutorial (or better yet, read SICP) as li is almost identical to Scheme
except for the following differences:

    * Comments start with a bash (#) (semicolon (;) is supported but
      deprecated). Because bash is reserved for comments, Scheme primitives that
      begin with bash have been changed:
        * Booleans are `true` and `false` rather than #t and #f.
        * Chars begin with `%\` rather than `#\`.
        * Vectors are of the form [...] instead of #(...).
    * Numbers are just doubles, so no bignums or numberical tower.
    * No continuations (yet).
    * Unhygenic macros.

li Reference
A reference is coming soon, but in the meantime the supported primitive
procedures are documented in src/li_proc.c.

C API Reference
A reference is coming soon, but in the meantime the API is documented in li.h.

    * Syntax checking is not complete.  Bad syntax will result in unknown
      behavior which may include unexpected termination or even segfaults.