Commit Graph

14 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
0153054a4c work on k 2018-12-05 23:43:24 -05:00
Nathan Braswell
8177bc7fd0 Add struct access! Uses new translation_unit_generative pass depended on by scope lookups to generate compiler_intrinsics that access members of structs' 2018-10-27 18:00:26 -04:00
Nathan Braswell
194842397f address of and dereference implemented as templated compiler intrinsics 2018-10-16 19:12:10 -04:00
Nathan Braswell
c0a6b614d0 Fix pointer/ref parsing 2018-10-10 01:13:47 -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
fb179cfcf7 Added primitive math ops, and realized when chaining them that overload resolution had to happen for different functions at different times (esp now that we don't just go outside in). Added a iterative resolver to solve the overloads, which iterates over each one and binds the one that only has one option and unifing types based on that, then running through them all again. If progress is not made for a whole iteration, it errors out and shows the first ambigious call. It could show all ambigious calls... 2018-10-01 01:19:51 -04:00
Nathan Braswell
4dcf102cb0 Also regular overloading works now, by counting remaining unknowns as equal during overload filtering time (so that function calls as statements, which get an inferenced return type of _unknown can match a function with any return type 2018-09-24 00:21:39 -04:00
Nathan Braswell
2148577523 HM-style return type overloaded function infrencing works! 2018-09-24 00:09:30 -04:00
Nathan Braswell
0505a0e7d6 Move types into binding also 2018-09-22 14:54:52 -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