aboutsummaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)Author
2025-08-29Modify main.c to better test streamAryadev Chavali
2025-08-29More testsAryadev Chavali
2025-08-29New example text and another testAryadev Chavali
2025-08-29Cleaned up bugs with stream implementationAryadev Chavali
Principle was that we may have read all the content from the underlying pipe (s.t. it set the EoF flag) but we haven't actually iterated the content.
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-21Clean up tests a bitAryadev Chavali
2025-08-21cons_test writtenAryadev Chavali
2025-08-21Finish value constructors TODO, start container constructors TODOAryadev Chavali
2025-08-21Designed tests for make_int and intern with their destructorsAryadev Chavali
2025-08-21Fix issues with buffer overflow when printing products of sv_copyAryadev Chavali
Happens because we have no null terminator on the string - rookie mistake.
2025-08-21Made some tests to go throughAryadev Chavali
2025-08-20Made a little test case for vectorsAryadev Chavali
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.
2025-08-19Test for tagging integersAryadev Chavali
2025-08-19Make sym_table_find return the c-string in question directlyAryadev Chavali
I think we fall into a few traps if we return an sv_t directly. Think intent is clearer by returning the c-string directly.
2025-08-19Add sanitisers to buildAryadev Chavali
2025-08-19Separate out implementation to make looking at code files easierAryadev Chavali
2025-08-19Separated out the definitions to clean up a bitAryadev Chavali
We're going to be using C to compile our Lisp eventually, so I need to have a header file for compilation to work. We can still separate out the implementation details into separate files (then generate a shared library for usage in the link stage) but we need this header file to be singular and clean.
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.