aboutsummaryrefslogtreecommitdiff
path: root/build.sh
AgeCommit message (Collapse)Author
2025-09-01Move implementation files into their own folderAryadev Chavali
main.c and test.c generate binary executables so they can stay in the main folder, but the rest can go into their own dedicated folder to make it look nicer
2025-08-28Still got some failures, but a basic stream implementationAryadev Chavali
Need to fix what's going on with the example in main.c using stdin.
2025-08-21Split out tests into its own fileAryadev Chavali
Also adjust the build system to do some more (cleaning, building, testing, running).
2025-08-21Add the ability to run the executable after building it in build.shAryadev Chavali
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-20Stable vector implementationAryadev Chavali
Stable vectors will be used in the lisp runtime to implement actual vectors, instead of using the disgusting lvec trick. This way we at least can get attributes about the vector through one pointer hop.
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-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.
2025-08-19Pointer tagging!Aryadev Chavali
Copied from oats, just the basics required for tagging integers or symbols.
2025-08-19Add sanitisers to buildAryadev Chavali
2025-08-19Separate out implementation to make looking at code files easierAryadev Chavali
2025-08-19200 line symbol table implementation and the first commitAryadev Chavali
Setup build system (POSIX sh), gitignore, basic C file with an implementation of something I really wanted to setup. It just hashes a snippet of lorem ipsum. Testing seems to indicate it's working. That's all it does lol. This is a really pressing matter; all my previous Lisps always just made the strings on the fly and that irked me deeply. I want a smart implementation that really tries to save memory on something as intensive as symbols.