predefined symbols do not need to reside in the Fl structure
ignore flisp.boot.s
add and use MEM_CALLOC
array, array-alloc: disallow values that aren't numbers
MEM_FREE on nil pointer is fine
include builtin boot image in git repo
make-system-image: no need for newlines in the compressed boot image
compress the builtin boot image
move static_assert define to plan9-specific headers
vm: ditto, fixup
vm: add and use LABEL(x) macro to refer to labels in op table
vm: take the op table out to separate files
untrace: fix wrong index
compiler: drop useless load followed by a pop
docstrings: support multiple versions of funvars
compiler: if: fix the wrong missing out label
lz-unpack: change to use :size or :to keyed args
doc-for: fix it evaluating the wrong thing
import brieflz and add bindings for it
rename plan9_builtins → builtins_plan9 to follow a convention
compute_maxstack: compare maxsp with sp less often
validate bytecode data - fail on invalid instructions
compute_maxstack: add missing case for boxl
update readme
boot image: exclude *prompt*
environment: don't include keywords - missed while redoing with qp tries
qp tries: embrace asserts
qp tries: clean up a bit
mk_symbol: call strlen less, use MEM_ALLOC
symtab: use QP tries instead (can help with completion later too)
symbol_t: remove dlcache, set the binding instead
repl: make prompt printing a func (*prompt*); better ~/.flisprc logic
get_type: make isarray a bool
symbols, ctype_sizeof: remove useless "align"
ios_put*, fl_print_*, out*: fix awkward argument ordering
flmain: close system image stream after it got loaded
add io-set-filename!
io-filename: can't return a static string - it might get freed
ieee854: not using long double, remove it
remove remnants of interfacing with C
define: evaluate to void - less noise in repl
remove "eq" alias
docs_extra.lsp: mainly for C builtins
vm-stats: remove the earmuffs
boot: not happy with no syntax env, fix it
docs: section a bit better
document void stuff
member/memv/assoc/assv: make sure it fails on non-lists
boot: don't redefine *properties*
update readme
fl_raise: flush stdout and stderr
seta(l): remove asserts
use (void) where applicable
trailing zeros trimming: null-terminate
compiler: #<void> is not printable
remove eof-object
add the_empty_string to clean up the mess
introduce #<void>, not printing in repl when is the result of eval
a bit of style
move *properties* to the top so that props can be set from the beginning
docs: macro documentation, same manner as normal defines
docs: always set the props regardless of environment, set the fun vars separately
help: cleaner logic; only record doc strings for top level definitions
fix nil reading, make it case insensitive
implement (define x "doc string" ...) and (define (f p ...) "doc string" ...)
move {put,get,rem}prop to system.lsp
add bench.lsp
apply_cl: simpler
set default scr_width to 100
length: return number of entries in a hash table
prefer "nil" over "()"
pair symbol → cons
aref/aset! on proper lists
ios, read: better parse error location logic
pair? → cons?
remove OP_BOOL_CONST_{F,T} and OP_NIL - instead reuse already existing OP_LOAD* ops
OP_THE_EMPTY_LIST → OP_NIL
make FL_{nil,f,t,eof,unspecified} global
split opcodes.h into header and C file
apply: make sure last arg is a list
disenv.lsp: a script to disassemble everything
map, for-each: fix wrong stack size assumptions
for-each and hash tables: fix after relocation, reduce size limit to uint32, add an assert
scheme alises: flush-output-port
scheme alises: lambda → λ
scheme alises: input-port-line
rename "separate" → "partition" and get rid of the broken alias from aliases.scm
aset!: support multiple indices
aref: apply + multiple indices
aref: fix multiindex on arrays
aref N: make N start at 0, do a better disassembly to make it more clear what's going on
aref: support multiple indices
remove table-foreach
for-each: work with vectors, arrays and hash tables
map: allow a shorter list in any position
for-each: make it more readable
for-each: stop on shortest list end, do not throw errors
for-each: work with multiple lists
apply_cl: tail: int → bool
for-each: just increment sp instead of pushing booleans