Commit graph

179 commits

Author SHA1 Message Date
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
c0f40aa512 [fine] Type checking bones 2024-01-05 14:59:48 -08:00
5cc9ecc398 [fine] New parser usurps old parser 2024-01-05 11:22:45 -08:00
120bd43652 [fine] ConcreteTree -> SyntaxTree 2024-01-05 11:18:01 -08:00
7abb8eafc2 [fine] Parent pointers in trees 2024-01-05 11:10:38 -08:00
4f3536ea50 [fine] Don't feel like supporting these tests 2024-01-04 19:51:06 -08:00
f203da328b [fine] Tests for conditional, semicolon optional at end of block
Just like rust, ';' means "discard this value".
2024-01-04 19:47:44 -08:00
ec5e59aed3 [fine] Clean up comments a bit 2024-01-04 19:44:03 -08:00
26871aa9ae [fine] Automatic rebase support for CST 2024-01-04 19:42:51 -08:00
1f6d7ec131 [fine] Dump CSTs and an example zoo 2024-01-04 13:25:17 -08:00
757db0ba3e [fine] Extract the CST 2024-01-03 22:06:46 -08:00
4fe3137027 [fine] A concrete syntax tree parser
Where in the world am I going with this?
2024-01-03 16:12:17 -08:00
5968fb1f6a [fine] Use -> Import
I don't know what I'm doing
2024-01-03 06:35:18 -08:00
d2d144a5ec [fine] Tokens is not Iterator
It was not pulling its weight
2024-01-03 06:18:26 -08:00
c4d2b82968 [fine] Fix project 2024-01-03 06:18:20 -08:00
93cc30ba9b [fine] Use keyword 2024-01-03 05:45:12 -08:00
d73f77cf00 [fine] Beginning a binary 2024-01-03 05:44:59 -08:00
8a867de7e7 [fine] The name is official 2024-01-02 16:50:21 -08:00
652fe18f57 [fine] More type checking; if and whatnot 2024-01-02 13:49:31 -08:00
dd6b673615 [fine] A few more tests 2024-01-02 09:35:48 -08:00
cc6f77daf4 [fine] Type checking 2024-01-02 09:29:52 -08:00