Commit Graph

21 Commits

Author SHA1 Message Date
Nathan Braswell
66f82062ba Almost have scoped . working, in fact it is, but having objects with member names has problems (like o.o) if the member function is in scope. (it thinks maybe you're trying to call o on itself...) 2018-12-18 02:51:44 -05:00
Nathan Braswell
3f2d51ba75 Fixed type unification for templates! Next up is adding to the scope for . 2018-12-07 01:08:12 -05:00
Nathan Braswell
194842397f address of and dereference implemented as templated compiler intrinsics 2018-10-16 19:12:10 -04:00
Nathan Braswell
02424543fb Explicit template function instantiation working 2018-10-10 00:39:04 -04:00
Nathan Braswell
379d9f612e Template functions (instantiated implicitly) work! 2018-10-09 23:00:57 -04:00
Nathan Braswell
39ecf24e69 Can't finish template inst tonight. 2018-10-08 00:28:42 -04:00
Nathan Braswell
0ae2fbaae6 Prep for templated functions 2018-10-02 23:51:26 -04:00
Nathan Braswell
3d8be84472 Break and continue weren't all the way implemented 2018-10-02 00:07:02 -04:00
Nathan Braswell
ae2f40bcc7 Treat assignment like other operators 2018-10-01 23:32:46 -04:00
Nathan Braswell
4d5e65e962 Groundwork for primitive operations, including > for ints 2018-09-30 16:06:07 -04:00
Nathan Braswell
2148577523 HM-style return type overloaded function infrencing works! 2018-09-24 00:09:30 -04:00
Nathan Braswell
9178c2a29d More unification for typechecking: 2018-09-22 20:10:56 -04:00
Nathan Braswell
6c7f313075 Very limited HM-style type inference works! (Just var v = value, but still. The machinery is mostly in place) 2018-09-22 16:41:36 -04:00
Nathan Braswell
0505a0e7d6 Move types into binding also 2018-09-22 14:54:52 -04:00
Nathan Braswell
38133b8bc3 Pull binding out into it's own templated object so we can use it for types for unification 2018-09-22 10:44:02 -04:00
Nathan Braswell
0e0ca8d7b4 Big changes to k - now all passes are top-level-item focused, does dead simple scope lookup. Added an error message when trying to match on not an ADT 2018-09-17 23:36:26 -04:00
Nathan Braswell
1cae1b1504 parse types into initial ast 2018-06-22 23:13:08 -04:00
Nathan Braswell
e851d0eac5 Add basis for types in k, and move to new poset setup (depend on individual imports, functions, types, and global variables) 2018-06-22 20:58:47 -04:00
Nathan Braswell
6ffe7aee46 Basic support for templates in ast, rest will come with types 2018-06-22 09:02:30 -04:00
Nathan Braswell
a8d4b4eb7f Parses everything but templates into new AST, including imports adding to dependency poset 2018-06-20 00:49:49 -04:00
Nathan Braswell
b5ce776726 Basic AST 2018-06-18 19:04:24 -04:00