Here's and Example of how

you would use XXLisp's cool feature

Suppose you wanted to intern functions from a certain C library. You can define a function table, then call intern-funcs, which modifies the interpreter. A call to make-xlisp with the desired executable name is the final step to building a lisp interpreter with all the requested functions interned.

(setq flist
      '(("VINIT" "vinit" "s" "")
	("WINOPEN" "winopen" "s" "d")
	("GEXIT" "gexit" "" "")
	("PREFPOSITION" "prefposition" "dddd" "")
	("PREFSIZE" "prefsize" "dd" "")
	("CLEAR" "clear" "" "")
	("COLOR" "color" "d" "")
	("ORTHO2" "ortho2" "ffff" "")
	("PNT" "pnt" "fff" "")
	("PNT2" "pnt2" "ff" "")
	("TRANSLATE" "translate" "fff" "")
	("SCALE" "scale" "fff" "")
	("ROT" "rot" "fc" "")
	("ROTATE" "rotate" "dc" "")
	("FONT" "font" "d" "")
	("CMOV" "cmov" "fff" "")
	("CMOV2" "cmov2" "ff" "")
	("GETHEIGHT" "getheight" "" "d")
	("STRWIDTH" "strwidth" "s" "d")
	("RECTF" "rectf" "ffff" "")
	("RECT" "rect" "ffff" "")
	("CIRCF" "circf" "fff" "")
	("BGNLINE" "bgnline" "" "")
	("ENDLINE" "endline" "" "")
	("BGNPOINT" "bgnpoint" "" "")
	("ENDPOINT" "endpoint" "" "")
	("BGNCLOSEDLINE" "bgnclosedline" "" "")
	("ENDCLOSEDLINE" "endclosedline" "" "")
	("BGNPOLYGON" "bgnpolygon" "" "")
	("ENDPOLYGON" "endpolygon" "" "")
	("DRAW" "draw" "fff" "")
	("DRAW2" "draw2" "ff" "")))

(intern-funcs '("\"/usr/custom/include/vogl.h\"") flist "vogle")

(make-xlisp "vlisp")

And voila! You have a binary called vlisp with all your functions interned!