Commit Graph

10 Commits

Author SHA1 Message Date
Aryadev Chavali
66c5134eb5 Remove impl folder 2025-10-19 23:04:04 +01:00
Aryadev Chavali
700c3b1d1b Move implementation files into their own folder
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-09-01 21:26:01 +01:00
Aryadev Chavali
cc56a2ee2b Still got some failures, but a basic stream implementation
Need to fix what's going on with the example in main.c using stdin.
2025-08-28 22:55:41 +01:00
Aryadev Chavali
85b83d7a20 Small optimisation: don't initialise a symbol table immediately on init
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-21 21:53:09 +01:00
Aryadev Chavali
847eb1a69b Refactor vectors to SBO, removing inlined entirely.
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-20 23:37:08 +01:00
Aryadev Chavali
55293ae396 vec -> ivec
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-20 22:19:14 +01:00
Aryadev Chavali
df558da7e1 Use sv_t instead of raw char*
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-20 21:50:58 +01:00
Aryadev Chavali
643896e2c8 rename base.h -> alisp.h
Makes more sense when you think about including it as an external
library
2025-08-20 21:24:07 +01:00
Aryadev Chavali
6dfe3e72a1 Make sym_table_find return the c-string in question directly
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-19 23:02:07 +01:00
Aryadev Chavali
78aa7d6fb3 Separate out implementation to make looking at code files easier 2025-08-19 22:53:19 +01:00