picore.h File Reference
Include dependency graph for picore.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

cell * eval (cell *expression, cell *env)
 Evaluates one sexpression and returns the result. More...
 
cell * apply (cell *fn, cell *args, cell *env, bool eval_args)
 Applies the function to the args in the environment. More...
 
cell * pairlis (cell *symbols_list, cell *values_list, cell *env)
 Creates a new list of pairs symbol-values starting from another. It's used to extend one environment. More...
 
cell * assoc (cell *symbol, cell *env)
 Associates one symbol to one values in the environment. More...
 
cell * evlis (cell *args, cell *env)
 Evaluates the cars of the list in the environment. It's called when a lambda is evaluated: first the list of the arguments of the lambda will be evaluated with this function. More...
 
cell * evcon (cell *args, cell *env)
 Evaluates the cond-special form. More...
 
cell * eval_atom (cell *expression, cell *env)
 
cell * eval_atom_function (cell *expression, cell *env)
 
cell * eval_composed_function (cell *expression, cell *env)
 
cell * eval_macro (cell *expression, cell *env)
 
cell * apply_atom_function (cell *fn, cell *args, cell *env, bool eval_args)
 
cell * apply_composed_function (cell *fn, cell *args, cell *env, bool eval_args)
 
cell * apply_lambda (cell *fn, cell *args, cell *env, bool eval_args)
 
cell * apply_lasm (cell *fn, cell *args, cell *env, bool eval_args)
 
cell * apply_label (cell *fn, cell *args, cell *env, bool eval_args)
 
cell * apply_macro (cell *fn, cell *args, cell *env, bool eval_args)
 
cell * eval_lambda_and_apply (cell *fn, cell *args, cell *env, bool eval_args)