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
d0b74db715
[fine] Error checking for some cases
2024-01-20 11:13:22 -08:00
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
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
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
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
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
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
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
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
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