Commit Graph

211 Commits

Author SHA1 Message Date
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
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
967e5cc436 Added a bunch of notes 2018-07-26 00:52:45 -07:00
greg
7a6ace5db1 Fix parse level calculation 2018-07-26 00:52:45 -07:00
greg
129af43e69 Proper indentation of parser debug 2018-07-26 00:52:45 -07:00
greg
17dccf65c8 Move some code around 2018-07-26 00:52:45 -07:00
greg
95c6a23bf1 Better hex literals 2018-07-26 00:52:45 -07:00
greg
2bff53846c Starting hex parsing 2018-07-26 00:52:45 -07:00
greg
514d117c7e Simplify some code 2018-07-26 00:52:45 -07:00
greg
66e3de41dd Make schala-lib::language private and reexport 2018-07-26 00:52:45 -07:00
greg
c4dbdf1fe7 Refactor into libs part II
woo it compiles
2018-07-26 00:52:45 -07:00
greg
3651461bbc Some more structure in evaluator 2018-07-26 00:52:45 -07:00
greg
7730457878 Revert "Starting to split project into multiple crates"
This reverts commit e3b0f4a51e.
Bah, this was a bad idea, wrong way to do it
2018-07-26 00:52:45 -07:00
greg
46dbac7f69 Starting to split project into multiple crates 2018-07-26 00:52:45 -07:00
greg
f68167f3a2 Halfway done with evaluating tuples 2018-07-26 00:52:45 -07:00
greg
c9625ffa77 Add module keyword 2018-07-26 00:52:45 -07:00
greg
9afbd2305f Literal non-primitive values 2018-07-26 00:52:45 -07:00
greg
d7564f81c9 Starting work on literal non-primitve values 2018-07-26 00:52:45 -07:00
greg
2fbb8f2b2f Can eval custom data constructors now 2018-07-26 00:52:45 -07:00
greg
1884eae191 Float literals, kill old code 2018-07-26 00:52:45 -07:00
greg
bb880d44fa Some more primitive types + binop-checking 2018-07-26 00:52:45 -07:00
greg
22b4738726 Add required imports 2018-07-26 00:52:45 -07:00
greg
0202aab181 Some partial work on refactoring type infer fn 2018-07-26 00:52:45 -07:00
greg
5f1c46cb87 Fix type check macro to add symbol table 2018-07-26 00:52:45 -07:00
greg
0ea9bd3d95 More work with unification 2018-07-26 00:52:45 -07:00
greg
0cf56eea4f the evar table
TODO find a better way to represent this
2018-07-26 00:52:45 -07:00
greg
ab53c5394e Unify work 2018-07-26 00:52:45 -07:00
greg
f6c85951fe Move type-level func up 2018-07-26 00:52:45 -07:00
greg
c530715671 Okay I am figuring things out about hindley-milner again 2018-07-26 00:52:45 -07:00
greg
617a30b967 rename type_var to ty 2018-07-26 00:52:45 -07:00
greg
cd11d18385 String and () types 2018-07-26 00:52:45 -07:00
greg
f82c6199c0 Change around some stuff 2018-07-26 00:52:45 -07:00
greg
f75cd763f8 Change Variable to Value 2018-07-26 00:52:45 -07:00
greg
54c16f0190 Partial handling of user defined types 2018-07-26 00:52:45 -07:00
greg
8d8e3cd565 Starting to make unify actually work 2018-07-26 00:52:45 -07:00
greg
47975cf8f6 Convert unify to are types
b/c Type implements Clone
Maybe wanna kill this later for efficiency
2018-07-26 00:52:45 -07:00
greg
ddd861fbea Have + do something different with strings
Needed to introduce polymorphism soon
2018-07-26 00:52:45 -07:00
greg
200d0f9867 Operator typing a little bit 2018-07-26 00:52:45 -07:00
greg
3e44bd3a18 Slight refactoring 2018-07-26 00:52:45 -07:00
greg
e2a94280c2 Renamed all the type-related types 2018-07-26 00:52:45 -07:00
greg
c5b3bafe43 Move some type checking code around 2018-07-26 00:52:45 -07:00