6ec0108566b235fd7e61e072a11196d79c866a3f
If you allocate a vector on the stack and default initialise
it (i.e. {0}), then by default "is_inlined" = 0. This is bad, as
technically speaking we should expect the vector to attempt to use
it's small inline buffer for vector operations before going onto the
heap - this will mess up our functions. So here I adjust the name to
make default stack based allocation a bit easier.
┌───────────────────────────────┐ │ _ _ │ │ /\ | | (_) │ │ / \ | | _ ___ _ __ │ │ / /\ \ | | | / __| '_ \ │ │ / ____ \| |____| \__ \ |_) | │ │ /_/ \_\______|_|___/ .__/ │ │ | | │ │ |_| │ └───────────────────────────────┘ Arya's Lisp! Or... Another Lisp. However full you see the glass. Goals: - Working Lisp interpreter (designed as I go, not sticking to Common Lisp or Scheme). - Bespoke compilation method by transpiling to C, with ability to compile expressions and functions at runtime. - Self Hosted interpreter + compiler, with a small bootstrap runtime in C.
Languages
C
98.3%
Makefile
1.7%