NAME
lang/lisp - Parse and evaluate Lisp/Scheme-style S-expressions.
SYNOPSIS
from lang/lisp import lisp_eval, load_lisp, parse_sexpr, standard_env, sym;
say( lisp_eval( [ sym("+"), 1, 2 ], standard_env() ) );
say( lisp_eval( parse_sexpr("(+ 1 2)") ) );
say( load_lisp("program.lizp") );
DESCRIPTION
lang/lisp is a facade module that re-exports the public parser and evaluator APIs from lang/lisp/parser and lang/lisp/eval. It is the recommended import path for applications that want to parse and evaluate Lisp/Scheme-style expressions.
Use parse_sexpr or parse_sexprs when starting from Lisp source text. Use sym(name) and nested Array values when constructing S-expressions directly in ZuzuScript.
EXPORTS
Parser Exports
LispError,LispSyntaxError,LispRuntimeErrorException classes.
LispByteVector,LispChar,LispEOF,LispPair,LispProgram,LispSourceLocation,LispSymbol,LispVector,SExprReaderParser value classes, source metadata classes, and stateful reader.
is_symbol,load_program,load_sexprs,parse_program,parse_sexpr,parse_sexprs,symParser convenience functions.
Evaluator Exports
LispCallback,LispClosure,LispEnv,LispHashTable,LispInputPort,LispInterpreter,LispLibrary,LispMacro,LispOutputPort,LispPath,LispPromise,LispRegexp,LispStackFrameEvaluator classes.
core_env,expand,import_library,lisp_error_message,lisp_error_report,load_library,load_lisp,lisp_eval,lisp_eval_all,lisp_repr,standard_envEvaluator functions.
COPYRIGHT AND LICENCE
lang/lisp is copyright Toby Inkster.
It is free software; you may redistribute it and/or modify it under the terms of either the Artistic License 1.0 or the GNU General Public License version 2.