LispBeam (exlisp v0.1.2)

Copy Markdown

Generates Erlang Abstract Format from ExLisp AST, compiles it to BEAM binaries, and executes it (with interactive REPL).

Summary

Functions

Dynamically compiles AST into a temporary BEAM module and executes it. Directly evaluates simple expressions (literals, constants, quotes, etc.) for performance.

Compiles and executes multiple ASTs in batch (optimizing batch execution such as file loading).

Starts the REPL (Read-Eval-Print Loop).

Directly evaluates simple expressions (literals, constants, quotes, simple variable references) without invoking compiler.

Functions

ast_cons_list(list, tail \\ {nil, 1})

compile_and(list, local_env)

compile_block(list, local_env)

compile_case(list, local_env)

compile_catch(args, local_env)

compile_check_type(args, local_env)

compile_cond(clauses, local_env)

compile_defclass(list, local_env)

compile_defgeneric(list, local_env)

compile_define_condition(list, local_env)

compile_defmacro(list, local_env)

compile_defmethod(args, local_env)

compile_defparameter(list, local_env)

compile_defstruct(list, local_env)

compile_deftype(args, local_env)

compile_defun(list, local_env)

compile_defvar(list, local_env)

compile_destructuring_bind(args, local_env)

compile_do(list, local_env)

compile_do_star(list, local_env)

compile_dolist(list, local_env)

compile_dotimes(list, local_env)

compile_ecase(list, local_env)

compile_etypecase(list, local_env)

compile_expr(ast, local_env \\ MapSet.new())

compile_flet(list, local_env)

compile_go(list, local_env)

compile_handler_bind(list, local_env)

compile_handler_case(list, local_env)

compile_if(list, local_env)

compile_ignore_errors(forms, local_env)

compile_labels(list, local_env)

compile_lambda(list, local_env)

compile_let(list, local_env)

compile_let_star(list, local_env)

compile_locally(args, local_env)

compile_loop(body_nodes, local_env)

compile_macrolet(list, local_env)

compile_multiple_value_bind(args, local_env)

compile_multiple_value_call(args, local_env)

compile_multiple_value_list(args, local_env)

compile_multiple_value_prog1(args, local_env)

compile_multiple_value_setq(args, local_env)

compile_nth_value(args, local_env)

compile_op(op, args, local_env \\ MapSet.new())

compile_or(list, local_env)

compile_prog1(list, local_env)

compile_prog2(list, local_env)

compile_progn(forms, local_env)

compile_progv(args, local_env)

compile_psetf(args, local_env)

compile_psetq(args, local_env)

compile_quote(ast)

compile_regular_op(op, args, local_env)

compile_restart_bind(list, local_env)

compile_restart_case(list, local_env)

compile_return(args, local_env)

compile_return_from(list, local_env)

compile_rotatef(args, local_env)

compile_setf(args, local_env)

compile_setq(args, local_env)

compile_shiftf(args, local_env)

compile_symbol_macrolet(list, local_env)

compile_tagbody(elements, local_env)

compile_the(args, local_env)

compile_throw(args, local_env)

compile_typecase(list, local_env)

compile_unless(list, local_env)

compile_unwind_protect(list, local_env)

compile_when(list, local_env)

compile_with_input_from_string(args, local_env)

compile_with_open_file(args, local_env)

compile_with_open_stream(args, local_env)

compile_with_output_to_string(args, local_env)

compile_with_simple_restart(args, local_env)

erl_var_name(atom_name)

evaluate_ast(ast, counter \\ nil)

Dynamically compiles AST into a temporary BEAM module and executes it. Directly evaluates simple expressions (literals, constants, quotes, etc.) for performance.

evaluate_asts(asts, counter \\ nil)

Compiles and executes multiple ASTs in batch (optimizing batch execution such as file loading).

extract_op_name(atom)

extract_param_names(elements)

extract_symbol_name(atom)

start_repl()

Starts the REPL (Read-Eval-Print Loop).

try_direct_eval(ast)

Directly evaluates simple expressions (literals, constants, quotes, simple variable references) without invoking compiler.