Commit graph

10 commits

Author SHA1 Message Date
ab477cd783 [fine] Simplify function compilation
This is simpler because we don't "discover" functions to compile as we
go, we just compile all the ones we can find, and functions have
pre-defined exports. This is good and useful to us as we can now refer
to functions in different modules by known indices, but it *does* make
me wonder what we're going to do for compiling generic specializations.
The previous technique was better for that sort of thing.

This is all predicated on the idea that I want to have
partially-compiled modules, which I can't really say why I want it. If
I'm happy to just compile things cross module in the same kind of
space then it's much easier to go back to the function key way of
working.
2024-03-29 19:12:18 -07:00
afa4812074 [fine] Parse alternate types 2024-02-01 07:56:30 -08:00
5f0a0b3268 [fine] Many test improvements, error improvements
- Check for more error conditions
- Move to more definitive error assertions
- Simpler error messages in some cases
- Test more conditions more thoroughly, revisit old tests
2024-01-21 08:14:42 -08:00
1eb7da77fc [fine] The VM lives! We can test it a little! 2024-01-14 16:06:14 -08:00
65fef78c44 [fine] OK 2024-01-13 15:07:38 -08:00
5ebede4a21 [fine] Gobs of work
- Assertion improvements
- Type check function calls
- Functions in the environment
- Compile function calls
2024-01-13 08:12:39 -08:00
d8988cb2cf [fine] test compilation, start removing print 2024-01-11 06:33:08 -08:00
fa53841af9 [fine] Starting to look like something 2024-01-09 07:56:14 -08:00
308114f8cf [fine] Fixup let environment
Also handle circular references in types and environments without
exploding, and tweak test output a little bit.
2024-01-07 08:05:55 -08:00
ebad7fe295 [fine] Missed a test :O 2024-01-06 17:22:16 -08:00