aboutsummaryrefslogtreecommitdiff
path: root/constructor.c
AgeCommit message (Collapse)Author
2025-08-20Refactor vectors to SBO, removing inlined entirely.Aryadev Chavali
Avoid 2 levels of indirection, and having to allocate twice for small payloads, by having an inlined array on the vector directly! Beautiful and simple. Required a bit of refactoring around the board, but overall the result makes me feel happier.
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-20Use sv_t instead of raw char*Aryadev Chavali
We're storing them as sv_t's anyway, we're fucked with regards to indirection. Thus, let's be nice to ourselves, and deal with the structures. We get the size of the structure for free anyway!
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.