Commit graph

199 commits

Author SHA1 Message Date
4505996710 [fine] Classes!
It's kinda amazing this works actually
2024-01-20 11:03:33 -08:00
0ee89bf26b [fine] WIP: Classes 2024-01-20 08:56:53 -08:00
e6c96fde38 [fine] Some tests to make work at some point I guess 2024-01-19 21:01:10 -08:00
f20f5a5e03 [fine] Assignments!
And new error capabilities!
2024-01-19 19:08:17 -08:00
92cf840766 [fine] A little more test 2024-01-17 16:10:07 -08:00
9ee8d39963 [fine] Starting on lists, god help me 2024-01-17 15:58:48 -08:00
106f2eb30f [fine] Giving up on generics for now 2024-01-17 09:12:00 -08:00
b92287ec1f [fine] Starting to work on generic parameters (yikes) 2024-01-16 19:52:45 -08:00
aaa88717f5 [fine] Error on generic parameters 2024-01-16 19:36:13 -08:00
01798236ec [fine] Compile iteratively instead of recursively 2024-01-16 09:26:05 -08:00
7fb88ef199 [fine] More tests and also comparisons 2024-01-15 09:43:56 -08:00
55749af917 [fine] Some fixes around return statements 2024-01-15 09:04:28 -08:00
44bc072b04 [fine] Test for function return type mismatch 2024-01-15 07:52:49 -08:00
d893002ec2 [fine] Check the return type of functions
A function returns what it says it does, the check is that the body
returns the right value.
2024-01-15 07:46:20 -08:00
257a7e64c2 [fine] More test more! 2024-01-15 07:19:29 -08:00
2f8e1bad85 [fine] More test! 2024-01-14 19:40:47 -08:00
40d611ae37 [fine] Fix block compilation 2024-01-14 19:19:53 -08:00
1eb7da77fc [fine] The VM lives! We can test it a little! 2024-01-14 16:06:14 -08:00
866830b485 [fine] A wild VM appears!
Untested though
2024-01-14 09:28:05 -08:00
53f18e729b [fine] More assertion 2024-01-14 07:07:42 -08:00
4be4572574 [fine] Fiddle with tests, no errors 2024-01-14 07:05:01 -08:00
65fef78c44 [fine] OK 2024-01-13 15:07:38 -08:00
50eb7a9673 [fine] This one too 2024-01-13 08:16:50 -08:00
1c1c03e1d9 [fine] Make sure we check this one 2024-01-13 08:15:10 -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
9d226b205d [fine] Whoops 2024-01-11 06:33:47 -08:00
d8988cb2cf [fine] test compilation, start removing print 2024-01-11 06:33:08 -08:00
d8db65af55 [fine] Re-work compiler main, checking is everything 2024-01-11 06:32:23 -08:00
5c05077312 [fine] a note about a latent bug 2024-01-09 09:22:48 -08:00
f8f5c9bfac [fine] lets can be local or global 2024-01-09 09:17:37 -08:00
fa53841af9 [fine] Starting to look like something 2024-01-09 07:56:14 -08:00
d14c9a72df [fine] Fully untested compiler 2024-01-08 22:30:34 -08:00
f2b9eae339 [fine] Ignore tests sometimes 2024-01-08 22:23:46 -08:00
6d2fd446ee [fine] Garbage Compile 2024-01-08 18:43:47 -08:00
8d09076586 [fine] Nonsense types are ICE 2024-01-07 09:21:05 -08:00
4bd3ac06fa [fine] Use the right tree to get the environment for an identifier
Can't go up to the parent, that defeats the whole point! Use *my*
environment, not my parent's environment!!
2024-01-07 09:13:34 -08:00
2f71946d21 [fine] Environment cycles are internal compiler errors
Re-work the failure to add official ICE support, and extract the
reporting from the tests into the semantics, so everybody benefits.
2024-01-07 08:54:55 -08:00
3877c6e547 [fine] Tracking cleanups: HashMap->Vec, and record complete 2024-01-07 08:29:02 -08:00
efd0685f41 [fine] Environments for functions
Fun times.
2024-01-07 08:11:27 -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
f9c7591154 [fine] Let binding 2024-01-06 17:21:58 -08:00
e5ac1b2718 [fine] Fix line endings in windows 2024-01-06 16:43:18 -08:00
3d4538c0df [fine] Starting to bind 2024-01-06 11:00:40 -08:00
56e4be9a5b [fine] Empty blocks generate nothing 2024-01-06 11:00:31 -08:00
8835d9eaf2 [fine] Tweak syntax for assertions to make me happier 2024-01-06 07:54:00 -08:00
758aef4db9 [fine] Get rid of "value required", it's not useful 2024-01-06 07:27:44 -08:00
b205ebcb4c [fine] Rebuild main, it's probably broken 2024-01-05 19:42:15 -08:00
a9c1b04920 [fine] Tests for type errors
WHEEEEEEE!
2024-01-05 19:29:45 -08:00
618e0028d3 [fine] Type testing with probes and reporting
I'm proud of the test harness here actually. Also fix a bug in
checking!
2024-01-05 17:10:15 -08:00