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
system: remove unused map* funcs
c***r: return empty list if passed empty list
compiler: "if": fold dup+brf+pop when not caring about the final result with "and"
eradicate more "lambda"
plan9: everything depends on builtin_fns.h
do_read_sexpr: move unexpected cases down
compiler: remove now unused compile-for
compiler: emit: less aref calls
compiler: builtin calls: fix broken check of arg count
builtin->instruction: add missing 'for'
bring back for-each as a builtin
type error: print the actual type as well
define a lambda for "for"
OP_FOR: use _applyn to work with every type of functions and fail otherwise
disable Fl in TLS in debug mode for now
system: don't include *interactive* in boot image; *os-name* is a string
bring back torture test (longer running) with breaking part disabled
remove unused "nop" opcode
compiler: none of the builtins are constants, still use their value directly
fltype_t->marked: remove (unused)
*os-name*: make it a string
pow -> expt
add "makunbound"
built-in symbols aren't constants anymore
OP_KEYARGS: update ipd, else ip will be written in the wrong location
no need to allocate for copies of constant symbol names
start with a much smaller initial stack size
tweak *vm-stats*
remove unused 'op' variable when using computed goto
small cleanup
remove the failing (and no longer needed) assert
*vm-stats*: print heap total and free
disable broken torture.scm
remove setc and setc.l (unused)
build flisp between mkboot0 and mkboot1
import "inline lambdas in head position (i.e. `let`)" from Julia's femtolisp
incorporate closure representation changes from Julia's flisp
compiler: refactor flisp compiler to handle internal define much more cleanly
small fixups
corrections: eq → eq?
computed gotos: use direct label addresses instead of offsets
isbuiltin: check the tag first, then uintval
mptoui: fix a warning on 32-bit openbsd
mp test: fix on openbsd - have to include stdio.h
add sinh, cosh and tanh builtins
rearrange for slightly better performance
test: add a very simple mpmul benchmark
mpint: rearrange fields and use int for flags - slightly faster
mp: use 64-bit mpdigit on 64-bit platforms as it's slightly faster
set min mp int signif bits to the full size of fixnum
read_string: use read context buffer (increase its size) to avoid allocations
for the sake of clang: Fl struct back to a tls pointer; rearrange and clean up
mp tests: apparently they only printed the errors, never exiting with non-zero code; fix everything
mp test: fix warnings
libmp: if somebody decides to redefine mpdigit as uint64, this was the fix to make it work
import the rest of libmp tests from 9front
mp: import a test and fix the issues it found
readme update
fl_read_numtok: simplify worst case, make sure there is no leak
snprint_real: don't use strcpy to shut openbsd up
posix platform: remove unused macros
fl_any_arith: fix wrong function used (mpnew → vtomp)
refactor (mostly arithmetic)
plan9: tests: put long-running ones at the end, unit tests first
test: lambda → λ
plan9: no longer need bswap* stuff
mp: fix mpbits with negative n
read: fix a possible crash
add floor and ceiling
math: always use doubles; add log10 and pow
use -Wno-gnu-offsetof-extensions with clang
remove "dump" builtin
bitvector_*: turn into defines
remove bitvector ops
plan9: add PRIu32 used in *vm-stats*
memmove → memcpy where applicable
make computed goto table a bit more readable
add (*vm-stats*) to print out a bit of vm statistics
sixel support: enabled → auto
clean up and fix some of the types and type casts
move COMPUTED_GOTO define to meson.build