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
93c9dcd13b
[fine] Suggestion for improvement in match
...
No special keyword. Exhaustivity is harder.
2024-01-30 06:39:10 -08:00
f2e82942df
[fine] Some resilience, a design improvement for iterator
2024-01-29 10:04:47 -08:00
15548afc38
[fine] Split environment and type fully
...
Environment and type are now fully split, so that neither directly
depends on each other, to remove another class of circular dependency.
2024-01-29 06:42:51 -08:00
019d780f85
[fine] Design for "intersection" types
2024-01-28 22:15:13 -08:00
f634e4da18
[fine] Don't panic on this parse error
2024-01-28 22:15:01 -08:00
607847abc3
[fine] ICE sorts errors on reporting
2024-01-28 22:12:30 -08:00
36ed61b8bb
[fine] Name the type comparison method properly
2024-01-25 22:09:59 -08:00
e66ffbb5ae
[fine] Design notes, more garbage
2024-01-25 22:09:44 -08:00
19e57db724
[fine] Static methods I guess
2024-01-25 06:44:53 -08:00
bc57978dda
[fine] No methods assigned to variables!
2024-01-24 09:11:55 -08:00
0c69758b11
[fine] Methods!
2024-01-24 09:03:45 -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
fde5579479
[fine] Some design notes
...
Just like... write some stuff down.
2024-01-21 09:23:45 -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
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
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