Commit Graph

741 Commits

Author SHA1 Message Date
greg
66cd51a355 Cleanup 2018-03-02 21:59:14 -08:00
greg
1056be12e7 Include line count in token debug 2018-03-02 15:21:48 -08:00
greg
48e7c0be03 Munged types to make tokenizer compile 2018-03-02 15:15:12 -08:00
greg
6e82d1207e SOme work
WIP
2018-03-02 02:57:04 -08:00
greg
f0e7c9906e Fixed bug w/ lines in functions
Also improved debugging
2018-03-02 00:42:52 -08:00
greg
57c7858c87 Frame-aware lookups 2018-03-01 23:13:32 -08:00
greg
a105c84943 Kill debug 2018-03-01 22:54:03 -08:00
greg
2b8d63d9cc Better debugging for types 2018-03-01 22:32:38 -08:00
greg
c807c20292 Use UVars in type signatures of functions 2018-03-01 03:35:09 -08:00
greg
a643c8a792 Add history saving 2018-03-01 02:49:14 -08:00
greg
69200048fa Switch to rustyline library 2018-03-01 02:43:11 -08:00
greg
55e372a670 Introduced fresh type variable method 2018-02-28 05:45:20 -08:00
greg
c50626241e Continuing work 2018-02-27 03:01:05 -08:00
greg
232bec97a7 Re-added symbol table infra 2018-02-26 21:43:53 -08:00
greg
ce1d967f08 Some logic for function call inferring 2018-02-26 21:28:11 -08:00
greg
daa0062108 Starting on function application typechecking 2018-02-26 21:00:36 -08:00
greg
3e7c7a50b4 Move some code around 2018-02-26 19:57:46 -08:00
greg
2574a1b9c0 Function calls work 2018-02-26 19:55:27 -08:00
greg
c285ee182e Temporarily disable type-erroring
and tighten some code
2018-02-26 19:16:49 -08:00
greg
f7659a5598 Handle variable lookups 2018-02-26 18:23:10 -08:00
greg
1064d9993a Evaluate binding declarations 2018-02-26 18:18:42 -08:00
greg
0e3320e183 Separate Value and NamedStruct syntactic categories 2018-02-26 18:12:37 -08:00
greg
89a2be19f4 Fixed | 2018-02-26 02:27:36 -08:00
greg
d9e96398a4 More operator stuff 2018-02-26 02:21:21 -08:00
greg
a564ffa1ce Operator changes 2018-02-26 02:11:56 -08:00
greg
b3fff100d2 Fixed tests w/ respect to binop
There's a few unnecessary conversions of &str 's to Rc<String> and back
2018-02-24 17:50:57 -08:00
greg
cfd6df7ba5 Centralize data for prefix ops too 2018-02-24 17:43:26 -08:00
greg
bb2e1ae27a Added type information to binop definitions
Also started centralizing precedence there too
2018-02-24 17:37:23 -08:00
greg
4333563d03 Make sigil field private 2018-02-24 14:39:45 -08:00
greg
e7cabb2a79 Function evaluation work 2018-02-24 14:31:04 -08:00
greg
5da7c809b2 Give State a pointer to its parent
For function call lookups
2018-02-24 13:56:04 -08:00
greg
d229a57837 Finished initial BinOp/PrefixOp 2018-02-23 19:06:37 -08:00
greg
0dd8861f83 Starting to munge BinOp types
Incomplete, doesn't yet compile
2018-02-23 04:10:00 -08:00
greg
4ab900d601 ReplState -> State
Not everythign is a repl
2018-02-23 03:07:58 -08:00
greg
501b975fb6 Move bx! macro up to mod.rs
And make use of it in parser
2018-02-23 03:04:19 -08:00
greg
83315e97ac Move anno-to-type to a method on TypeName 2018-02-23 02:30:34 -08:00
greg
6259a0808c Fix tests too 2018-02-23 01:59:53 -08:00
greg
0c69476fd0 Separate tokenizing module
Parsing was getting too long
2018-02-23 01:58:06 -08:00
greg
1caccc6ae2 Some work on binops 2018-02-23 01:49:37 -08:00
greg
23af2b1455 Some more type-checking work 2018-02-22 19:59:53 -08:00
greg
61795b0331 More work on evaluating applications
for later testing + to kill a compiler warning
2018-02-22 03:34:36 -08:00
greg
a1b874c891 Fix traits, silence warnings 2018-02-22 03:26:32 -08:00
greg
e7103b925b type of a declaration should be Void, not Unit
I think this makes sense

Also kill some compiler warnings
2018-02-22 03:25:05 -08:00
greg
c35401da65 Types in bindings 2018-02-22 03:21:58 -08:00
greg
d51a9a73d7 Simplified match 2018-02-22 00:31:13 -08:00
greg
fddd43b86e Added trait declaration 2018-02-21 22:06:56 -08:00
greg
12f55fa844 More static type work 2018-02-21 18:12:46 -08:00
greg
bb0fb716e4 Finished basic constant type inference 2018-02-21 14:14:24 -08:00
greg
687d482853 More type implementing - WIP
This has a borrowing bug currently
2018-02-21 04:32:30 -08:00
greg
628eb28deb Fix some integer overflows with binary and hex 2018-02-21 03:52:16 -08:00