aboutsummaryrefslogtreecommitdiff
path: root/sys.c
AgeCommit message (Collapse)Author
2025-08-21Small optimisation: don't initialise a symbol table immediately on initAryadev Chavali
Why? This way, until we use symbols, the system doesn't generate the table and thus grow the memory usage by a couple kb.
2025-08-21Make nicer primitive functions for car/cdrAryadev Chavali
If it isn't a CONS, we return NIL instead of failing. This way, we can use it in our general iteration functions. Eventually the actual runtime would use this as well. The macros are mostly for internal use to do assignment etc.
2025-08-20refactor lisp runtime to use vec_t* instead of ivec_t*Aryadev Chavali
bit nicer to look at, should have about the same painful performance hit anyway.
2025-08-20vec -> ivecAryadev Chavali
I'm going to implement a normal stable vector instead of an inline vector so we have both options for use. I think that's smarter than just sticking to one.
2025-08-20rename base.h -> alisp.hAryadev Chavali
Makes more sense when you think about including it as an external library
2025-08-20Constructors and context -> sysAryadev Chavali
We can register memory we've allocated onto the heap into a ~sys_t~ instance for examination (read: garbage collection) later. We can also add items to the symbol table it has internally.