6877ffd2c2
Added type system questions to TODO
2023-12-28 22:52:28 -07:00
438c883047
Added bibliography
2023-12-28 22:52:15 -07:00
021658695c
Removed dynamic type checks from interpreter
2023-10-04 17:31:39 -06:00
6e88a41b72
Wire up resolver to interpreter
2023-10-04 17:13:48 -06:00
5168890ea0
Return a dictionary of resolutions from Resolver
2023-10-04 12:31:10 -06:00
ce7a755b07
Pass around an immutable scope stack in resolver
2023-10-04 00:05:10 -06:00
d5ffd1e414
Added half-baked resolver
2023-10-03 23:32:24 -06:00
bc57ed9df0
Allow variable defs to use earlier names in list
2023-09-27 22:38:32 -06:00
352fa9616e
Implemented closure and therefore recursion
2023-09-27 22:34:38 -06:00
ab38d85465
Implemented native function calls
2023-09-27 18:18:38 -06:00
43fcb615fb
Remove dynamic bindings from strawman
...
Instead, I'm going to eventually try adding impredicativity with Quick
Look, so I can use records as modules and use one to pass effectful
library funcs to the entry point.
2023-08-15 21:42:04 -06:00
96ee9c4307
Added notes on multiple-binding let-exprs
2023-08-06 17:29:54 -06:00
a00bbe26b4
Update todo list
2023-08-06 17:27:48 -06:00
8619f67b91
Get rid of extra runtime type checks
2023-08-06 17:14:18 -06:00
93215cd294
Include correct tokens in pattern mismatch errors
2023-08-06 17:07:00 -06:00
7d006d8889
Add dynamic bindings and better error positions
2023-08-06 15:44:15 -06:00
a7421927ae
Use uppercase field names in Token
2023-07-25 13:19:07 -06:00
64fac5a9fb
Remove Name type and add quoted identifier token
2023-07-16 23:30:20 -06:00
9dfdf1109e
Added TODO.txt
2023-07-16 19:49:27 -06:00
de2fa22869
Include richer position data in tokens
2023-07-16 19:47:42 -06:00
9ea27888cb
Evaluate when-exprs
2023-07-11 13:55:06 -06:00
7741b7c4ad
Added record extension field punning
2023-07-11 13:14:02 -06:00
fc710d038f
Added record update field punning
2023-07-11 13:12:02 -06:00
c12a0cffc8
Implemented pattern matching in let-exprs
2023-07-11 12:59:15 -06:00
ca97c93181
Evaluate let-exprs with simple bindings
2023-07-11 00:51:51 -06:00
108870c731
Rename Identifier to Variable
2023-07-07 21:29:17 -06:00
f9df52b5f9
Evaluate all non-binding expressions
2023-07-06 02:29:04 -06:00
b1607eebc6
Evaluate arithmetic expressions
2023-07-06 01:11:00 -06:00
6459e39260
Fixed typo in RecordPattern.ToString
2023-07-05 10:24:03 -06:00
4f606e0e30
Allow arbitrary patterns as func params
2023-07-05 10:23:34 -06:00
eed952d154
Parse function bindings
2023-07-05 10:18:27 -06:00
4fe56dbdbc
Removed commented code
2023-07-05 08:53:28 -06:00
d498cc627b
Parse when-expressions
2023-07-05 08:52:14 -06:00
86a9241632
Removed unused consume overload
2023-07-02 17:09:34 -06:00
f43e0464b6
Parse record patterns
2023-07-02 17:07:46 -06:00
b5bdd95605
Parse let exprs with simple and variant patterns
2023-07-02 16:37:06 -06:00
ef3de7a707
Generate pattern-matching nodes
2023-07-02 14:56:50 -06:00
82d911d5dd
Converted AST classes to records
2023-07-02 14:27:12 -06:00
04689beec3
FIxed null warnings
2023-07-02 13:19:42 -06:00
bd135f0203
Fix outdated expression rule in grammar
2023-07-02 12:27:53 -06:00
57cd5b3a9e
Parse function calls
2023-07-02 12:05:46 -06:00
6f742ec577
Allow trailing comma in function call grammar
2023-07-02 12:05:39 -06:00
aca4f669ad
Parse indexing expressions
2023-07-02 11:46:18 -06:00
5f9b4a2fb6
Allow trailing comma in list and record grammars
2023-07-02 11:39:37 -06:00
63edbae650
Parse record literals
2023-07-02 11:38:48 -06:00
5b0ca1ca6d
Parse variants
2023-07-01 23:30:24 -06:00
8de88c0ce3
Parse list literals
2023-07-01 23:13:24 -06:00
6ab36fc489
Added some throwing stubs to parser
2023-07-01 00:26:32 -06:00
6fd622a573
Moved compound literals to primary in grammar
2023-07-01 00:26:11 -06:00
6f3c82cad1
Added identifiers and field selectors to grammar
2023-07-01 00:12:02 -06:00