Login
7 branches 0 tags
Ben (X13/Void) Fixed testcases... 13256b9 4 years ago 264 Commits
nujel / lib / nujel.h
#pragma once
#include "common.h"
#include "allocation/array.h"
#include "allocation/closure.h"
#include "allocation/garbage-collection.h"
#include "allocation/roots.h"
#include "allocation/string.h"
#include "allocation/val.h"

extern bool lVerbose;

extern lVal *lnfvDo;
extern lVal *lnfvInfix;
extern lVal *lnfvArrRef;
extern lVal *lnfvCat;
extern lVal *lnfvTreeGet;
extern lVal *lnfvQuote;

void      lInit             ();

lClosure *lClosureNewRoot   ();
lClosure *lClosureNewRootNoStdLib();

lVal     *lMap              (lClosure *c, lVal *v, lVal *(*func)(lClosure *,lVal *));
lVal     *lEval             (lClosure *c, lVal *v);
lVal     *lMacro            (lClosure *c, lVal *args, lVal *lambda);
lVal     *lLambda           (lClosure *c, lVal *args, lVal *lambda);
lVal     *lApply            (lClosure *c, lVal *args, lVal *fun, lVal *funSym);
lVal     *lTry              (lClosure *c, lVal *catchRaw, lVal *bodyRaw);
lVal     *lQuote            (lVal *v);

lVal     *lList             (int length, ...);