Commit Graph

179 Commits

Author SHA1 Message Date
greg
d7a33c974e More work with unification 2017-10-11 02:33:46 -07:00
greg
b2288206d2 the evar table
TODO find a better way to represent this
2017-10-11 02:11:12 -07:00
greg
d962e2c27a Unify work 2017-10-11 02:03:50 -07:00
greg
4534c1d3d6 Move type-level func up 2017-10-11 01:55:45 -07:00
greg
f79dc0b1e3 Okay I am figuring things out about hindley-milner again 2017-10-11 01:50:04 -07:00
greg
4928fc0019 rename type_var to ty 2017-10-10 22:14:55 -07:00
greg
d735e45688 String and () types 2017-10-10 21:51:45 -07:00
greg
b4208b696d Change around some stuff 2017-10-10 21:23:24 -07:00
greg
ff3dbbcbc6 Change Variable to Value 2017-10-10 21:02:32 -07:00
greg
e3261be8a0 Partial handling of user defined types 2017-10-10 17:29:28 -07:00
greg
f131105b50 Starting to make unify actually work 2017-10-10 04:38:59 -07:00
greg
1089a33634 Convert unify to are types
b/c Type implements Clone
Maybe wanna kill this later for efficiency
2017-10-10 04:26:40 -07:00
greg
6c60794485 Have + do something different with strings
Needed to introduce polymorphism soon
2017-10-10 02:45:25 -07:00
greg
2f18529bcc Operator typing a little bit 2017-10-10 02:41:17 -07:00
greg
c68e09d89d Slight refactoring 2017-10-10 02:32:02 -07:00
greg
d9e8178a90 Renamed all the type-related types 2017-10-10 02:17:07 -07:00
greg
57536e6399 Move some type checking code around 2017-10-10 01:11:24 -07:00
greg
32e077c407 Merge branch 'master' of github.com:neunenak/schala 2017-10-10 01:09:27 -07:00
greg
83752a1c74 Some more type work 2017-10-10 01:04:19 -07:00
greg
33d0d49d30 Basic typing test 2017-10-09 12:26:25 -07:00
greg
76a9367284 String types 2017-10-09 11:42:53 -07:00
greg
66c7bbeb07 Floats, pathspec changes 2017-10-09 04:02:50 -07:00
greg
ed8359bcd7 Store constant state, func/binding as value
on symbol table, instead of key
2017-10-09 02:38:33 -07:00
greg
996f75e15c A lot more type work 2017-10-09 02:26:59 -07:00
greg
30a54d997c Simplify symbol table code 2017-10-09 00:59:52 -07:00
greg
4bcbf1854a Use universal/existential type data structures 2017-10-09 00:36:54 -07:00
greg
f2c6556c2a Use name TypeVariable 2017-10-09 00:22:42 -07:00
greg
9161e2751f (Janky) type inference for explicitly-type-annotated values 2017-10-08 23:45:38 -07:00
greg
60fc9fd7e1 Super-basic type inference working
with a bunch of assumptions and hard-coded values
2017-10-08 23:33:53 -07:00
greg
3b249045aa Call needs to accept a general argument 2017-10-08 23:02:03 -07:00
greg
ff0e14d9a9 Rename params -> args in Call Expr 2017-10-08 22:52:05 -07:00
greg
8fe535597e Starting to actually do Hindley-Milner!! 2017-10-08 22:48:10 -07:00
greg
5cb8423ecc Beginning for expressions 2017-10-08 22:07:18 -07:00
greg
4032707dc9 Kill some comments 2017-10-08 21:26:47 -07:00
greg
1a8423535a Add test for function decl 2017-10-08 21:25:51 -07:00
greg
338981febe Changed function signatures around slightly 2017-10-08 21:21:02 -07:00
greg
6dff8b029e Function definitions expanded 2017-10-08 20:55:05 -07:00
greg
df877830d3 Fixed tests 2017-10-08 19:39:41 -07:00
greg
40696b3cbd Rename TypeAnno to TypeName everywhere 2017-10-08 19:30:52 -07:00
greg
40a82d7e25 Tests for new type stuff
+ some renaming
2017-10-08 19:15:08 -07:00
greg
c605f76059 More type work II 2017-10-08 19:03:02 -07:00
greg
a6d71821b9 More type work I 2017-10-08 18:47:57 -07:00
greg
c4f0331d1a Symbol table addition should be separate stage 2017-10-08 16:24:44 -07:00
greg
b4054d7581 Impl blocks 2017-10-08 14:24:02 -07:00
greg
74d3828c71 Symbol table debug needs to happen before type check 2017-10-08 13:59:55 -07:00
greg
bb57da564d Infrastructure to debug symbol table 2017-10-08 13:57:43 -07:00
greg
3f9ae5fac3 Symbol table accepts variables 2017-10-08 13:51:56 -07:00
greg
62edc7c996 type checking / symbol table stuff 2017-10-08 12:22:04 -07:00
greg
e412fb9a89 Convert type-checking function type 2017-10-07 22:08:48 -07:00
greg
3a97401f61 Add symbol table insertion method skeleton 2017-10-07 21:57:51 -07:00