13aaca36c8
[fine] Fix list variable binding
2024-02-08 06:34:02 -08:00
239e859eaf
[fine] Support assignment to member, loops with iterators
...
Hmm it's starting to look like something.
2024-02-07 01:57:41 -08:00
ac3c158a81
[fine] While loops, nothing
2024-02-05 06:11:37 -08:00
28ec6b5e85
[fine] Improve wildcard parsing, fix ephemera bug with peek_next
2024-02-04 20:04:55 -08:00
65ec2d4cca
[fine] Implement the wildcard pattern
2024-02-04 19:36:47 -08:00
deed9d9a45
[fine] Starting on pattern matching, make patterns explicit
2024-02-04 07:47:16 -08:00
b5b56b49a9
[fine] fix some bugs, semantics for is
2024-02-03 07:59:49 -08:00
ba5b37f5ff
[fine] Parse is expression, partially
2024-02-02 06:32:03 -08:00
afa4812074
[fine] Parse alternate types
2024-02-01 07:56:30 -08:00
f7acfd588d
[fine] Even more resilience, I can stop now
...
Also fix a bug, could not return from a method OOPS
2024-02-01 06:35:43 -08:00
7f30d0ccc3
[fine] More resilience
...
We don't lose function declarations and whatnot, although we get lost
with broken return types.
2024-01-31 07:46:20 -08:00
f2e82942df
[fine] Some resilience, a design improvement for iterator
2024-01-29 10:04:47 -08:00
f634e4da18
[fine] Don't panic on this parse error
2024-01-28 22:15:01 -08:00
2839b43f6d
[fine] Improvements to classes
...
- Classes are defined lazily
- Member access is via environment
- Member access is just a binary expression with a weird environment
- Slot loads look like variable loads now
- Associativity in the parser (ugh)
2024-01-22 23:17:02 -08:00
0d48bfb113
[fine] starting to work on methods
2024-01-22 06:04:13 -08:00
741a729f8d
[fine] Working on parser resilience
2024-01-21 09:23:20 -08:00
11cb7199e9
[fine] Fix a problem with a stuck parser
...
Whoops
2024-01-21 09:02:48 -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
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
f20f5a5e03
[fine] Assignments!
...
And new error capabilities!
2024-01-19 19:08:17 -08:00
9ee8d39963
[fine] Starting on lists, god help me
2024-01-17 15:58:48 -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
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
3d4538c0df
[fine] Starting to bind
2024-01-06 11:00:40 -08:00
b205ebcb4c
[fine] Rebuild main, it's probably broken
2024-01-05 19:42:15 -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
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
d2d144a5ec
[fine] Tokens is not Iterator
...
It was not pulling its weight
2024-01-03 06:18:26 -08:00
8a867de7e7
[fine] The name is official
2024-01-02 16:50:21 -08:00