Nathan Braswell
|
2bc9ce497b
|
FINALLY FIXED THE PROBLEM - was using set instead of set_single, so it set it's child as well, causing the type loop. Also, the binding replace child evaluated the parameters first, changing t's parent before t->parent->replace_child happened
|
2019-07-13 18:01:04 -04:00 |
|
Nathan Braswell
|
c2495a04f8
|
binding epochs compile, but segfault. too late tonight to keep going
|
2019-01-06 01:06:15 -05:00 |
|
Nathan Braswell
|
ed57d2b2a9
|
Added sizeof and fixed inferencing from explicitly instantiated template functions so that new and delete work! (though not traits yet...)
|
2018-12-29 16:35:47 -05:00 |
|
Nathan Braswell
|
235775c077
|
Basic veriadic, ext, and declaration only support, allowing us to use printf! Unifying with veriadic might need work (does it need ref treatment?)
|
2018-12-29 14:50:58 -05:00 |
|
Nathan Braswell
|
eccc4c87a6
|
Finally, ref lowering! A little hacky, but not terrible...
|
2018-12-29 12:19:54 -05:00 |
|
Nathan Braswell
|
deda17e18b
|
groundwork for refs, moved ref indicator into fun type
|
2018-12-27 15:14:28 -05:00 |
|
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 |
|