BF:BFD[
3.1] → [
2.681:712]
BF:BFD[
2.712] → [
2.713:713]
B:BD[
2.713] → [
2.714:21672]
# faster than lib-eval: about 12ms per startup (n=1000); but gnarly
# and write-only, and slower than using an image.awk dumped by
# dump.awk (~8ms per startup). (with no lib at all, it takes about 3ms
# to start up; speed figures have this subtracted out.)
# an elisp function to turn lists of symbols written in LISP into
# mazes of calls to _cons and _symbol and _nil. quite unprepared for
# numbers or punctuation.
# (defun awkify ()
# (interactive)
# ;; ind: level of lisp parentheses; 0 is toplevel. argno: stack of
# ;; numbers of _cons arg, 1-based; one entry for each pair of awk
# ;; parentheses we are in.
# (let ((ind 0) (argno '(1)))
# (cl-flet
# ((nlc ()
# (when (not (= (car argno) 1))
# (insert ",")
# (if (looking-at " ")
# (progn (newline-and-indent)
# (insert " ")
# (backward-char))
# (newline-and-indent))))
# (ec ()
# (while (and (not (null argno))
# (>= (car argno) 3))
# (insert ")")
# (pop argno)))
# (next-arg () (cl-incf (car argno))))
# (save-mark-and-excursion
# (setf (car argno) 1) ;; ???? why is it 3 sometimes
# (while (not (looking-at "\n"))
# (cond ((looking-at "(")
# (delete-char 1)
# (nlc) (next-arg)
# (insert "_cons(")
# (cl-incf ind)
# (push 1 argno))
# ((looking-at " ")
# (if (> ind 0)
# (progn
# (delete-char 1)
# (nlc) (next-arg)
# (insert "_cons(")
# (push 1 argno))
# (forward-char)))
# ((looking-at "[a-z]")
# (kill-word 1)
# (nlc) (next-arg)
# (insert "_symbol(\"")
# (yank)
# (insert "\")"))
# ((looking-at ")")
# (delete-char 1)
# (nlc) (next-arg)
# (insert "_nil()")
# (cl-decf ind)
# (ec))
# ((looking-at "\\\\")
# (delete-char 1))))))))
BEGIN {
x = _cons(_symbol("quote"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("quote"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("atom"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("atom"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("eq"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("eq"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("car"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("car"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cdr"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cdr"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cons"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("cons"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cond"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cond"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("list"),
_cons(_cons(_symbol("*lambda"),
_cons(_symbol("a"),
_cons(_symbol("a"),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("not"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("not"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("null"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("null"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("equal"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("equal"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("caar"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("caar"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cadr"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cadr"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("memq"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("memq"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("member"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("member"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("assoc"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("assoc"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("setq"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("setq"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("caaar"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("caaar"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("caadr"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("caadr"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cadar"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cadar"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("caddr"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("caddr"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cdaar"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cdaar"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cdadr"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cdadr"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cddar"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cddar"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("cdddr"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("cdddr"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("rplaca"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("rplaca"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("rplacd"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("rplacd"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("nreverse"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_nil()),
_cons(_cons(_symbol("nreverse"),
_cons(_symbol("a"),
_nil())),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("nconc"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("nconc"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("append"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("b"),
_nil())),
_cons(_cons(_symbol("append"),
_cons(_symbol("a"),
_cons(_symbol("b"),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
x = _cons(_symbol("mapcar"),
_cons(_cons(_symbol("*lambda"),
_cons(_cons(_symbol("f"),
_cons(_symbol("a"),
_nil())),
_cons(_cons(_symbol("label"),
_cons(_cons(_cons(_symbol("map"),
_cons(_cons(_symbol("lambda"),
_cons(_cons(_symbol("a"),
_cons(_symbol("r"),
_nil())),
_cons(_cons(_symbol("cond"),
_cons(_cons(_cons(_symbol("eq"),
_cons(_symbol("a"),
_cons(_symbol("nil"),
_nil()))),
_cons(_cons(_symbol("nreverse"),
_cons(_symbol("r"),
_nil())),
_nil())),
_cons(_cons(_true(),
_cons(_cons(_symbol("map"),
_cons(_cons(_symbol("cdr"),
_cons(_symbol("a"),
_nil())),
_cons(_cons(_symbol("cons"),
_cons(_cons(_symbol("f"),
_cons(_cons(_symbol("car"),
_cons(_symbol("a"),
_nil())),
_nil())),
_cons(_symbol("r"),
_nil()))),
_nil()))),
_nil())),
_nil()))),
_nil()))),
_nil())),
_nil()),
_cons(_cons(_symbol("map"),
_cons(_symbol("a"),
_cons(_symbol("nil"),
_nil()))),
_nil()))),
_nil()))),
_nil()))
_GLOBALS = _cons(x, _GLOBALS)
# search all those bindings in the order we wrote them: most
# commonly used first
_GLOBALS = _nreverse(_GLOBALS)
}