greg
|
fa6c2a6f45
|
Re-added symbol table infra
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
92e6830979
|
Some logic for function call inferring
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ef9cd04605
|
Starting on function application typechecking
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
1eaf201145
|
Move some code around
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
876373c9fd
|
Function calls work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
63f5f155ae
|
Temporarily disable type-erroring
and tighten some code
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
51cf8a4824
|
Handle variable lookups
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
e0cc12276c
|
Evaluate binding declarations
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d69970a806
|
Separate Value and NamedStruct syntactic categories
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
522d9fc951
|
Fixed |
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
63c3e0a4db
|
More operator stuff
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
547def990e
|
Operator changes
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
6e105bac55
|
Fixed tests w/ respect to binop
There's a few unnecessary conversions of &str 's to Rc<String> and back
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
a396c448ec
|
Centralize data for prefix ops too
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d3ef980dc5
|
Added type information to binop definitions
Also started centralizing precedence there too
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
df86e0c16e
|
Make sigil field private
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
274bf80b5d
|
Function evaluation work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f0a39ac88a
|
Give State a pointer to its parent
For function call lookups
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
85e65273fe
|
Finished initial BinOp/PrefixOp
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
413c5afe67
|
Starting to munge BinOp types
Incomplete, doesn't yet compile
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
36174140bc
|
ReplState -> State
Not everythign is a repl
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
75ecfb4e86
|
Move bx! macro up to mod.rs
And make use of it in parser
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
e86d401c90
|
Move anno-to-type to a method on TypeName
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
b2319f0971
|
Fix tests too
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d423e88845
|
Separate tokenizing module
Parsing was getting too long
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
5cb0e6715d
|
Some work on binops
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
5bb2c319e8
|
Some more type-checking work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
440783bb64
|
More work on evaluating applications
for later testing + to kill a compiler warning
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9834ee295e
|
Fix traits, silence warnings
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9346bb9581
|
type of a declaration should be Void, not Unit
I think this makes sense
Also kill some compiler warnings
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f46f593c44
|
Types in bindings
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
ec7d185ed5
|
Simplified match
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
3f1cf1d975
|
Added trait declaration
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
39ee550b54
|
More static type work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
d5df868f10
|
Finished basic constant type inference
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
55629e6d9d
|
More type implementing - WIP
This has a borrowing bug currently
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
9d99971f49
|
Fix some integer overflows with binary and hex
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
76575e9ba3
|
Starting basic type stuff
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
a50d8d9e3f
|
Starting over with types
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c2cd419e5a
|
Additional TODO
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
bcec8e27f8
|
Add todo note
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
e6a015090c
|
More type things
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
c18bf9c29f
|
Type singletons test work
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
cfc507a2df
|
TypeSingletonName broken out
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
f7e88c7cab
|
Fix struct literals in if expressions
With special case-ing, sigh :( Also will need to do this for match
expressions but I'll cross that bridge when I come to it
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
4d0bfa2a52
|
Don't need clone() here
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
99e5d86764
|
Kill separate is_digit method
I care about 10 vs 16 distinction
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
17e8ebe789
|
Hex parsing done
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
253a85005c
|
Save settings on ctrl-D
|
2018-07-26 00:52:45 -07:00 |
|
greg
|
967e5cc436
|
Added a bunch of notes
|
2018-07-26 00:52:45 -07:00 |
|