Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
22 check-ins using file bs/sema/uni-basicrules.cpp version c6fcecb859
|
2019-03-23
| ||
| 13:45 | Higher order functions: some fixes and cleanup, the simplest case (lambda function passed as parameter for a matching function type) works. check-in: 152d39532f user: achavasse tags: trunk | |
| 13:08 |
| |
|
2019-03-22
| ||
| 21:42 | Func: finally abandon the Term type which adds too much overhead and can be lived without, but instead store the signature directly as the param types, inside of the function type. check-in: 0618ab859e user: achavasse tags: trunk | |
| 21:03 | Func: param unification. check-in: d62116e3e8 user: achavasse tags: trunk | |
| 20:28 | Func: added Param type. check-in: dc1e1c4c16 user: achavasse tags: trunk | |
| 20:13 | Use the entire callee value to look up invocation rules rather than just their type, and restricted template invocation to constant tfunc values. check-in: 0ecc71a91f user: achavasse tags: trunk | |
|
2019-03-19
| ||
| 20:17 | Higher-order functions: implemented BuildArgPatternFromFuncType() and BuildArgPatternFromTFuncType(). check-in: 65cbac9aa3 user: achavasse tags: trunk | |
|
2019-03-18
| ||
| 21:00 | Invocation rule: added "prepareFunc" method. check-in: 48e869cb9a user: achavasse tags: trunk | |
| 20:41 | Split out the retrieval/construction of a template instance into a separate function. check-in: 2847fd86e7 user: achavasse tags: trunk | |
|
2019-03-17
| ||
| 20:56 | Sema: terms can now be wrapped along with a post processing function. This is similar to the substitute call back, but it is invoked after the best unification solution has been chosen. check-in: 396ab349c6 user: achavasse tags: trunk | |
| 15:54 | Sema: terms can now be wrapped along with a callback to be invoked by Substitute(). check-in: dd70f4c696 user: achavasse tags: trunk | |
| 11:49 | Added a way to quote an expression so that its content is ignored during unification, and used it for function signatures. check-in: 68eda7b3fe user: achavasse tags: trunk | |
| 00:13 | Functions: store the signature alongside the body rather than in the type, to be consistent with template functions. check-in: cce96c5a25 user: achavasse tags: trunk | |
|
2019-03-16
| ||
| 23:19 | Overloading: parse function overloading, and multiple fixes. Overloading now works. check-in: 9089b014a2 user: achavasse tags: trunk | |
| 21:27 | Overloading: the first time a function or function template declaration is encountered, it is stored in a new overloadset. check-in: 224370818a user: achavasse tags: trunk | |
| 20:46 | Overloading: some preliminary function parsing refactoring. check-in: eba916730b user: achavasse tags: trunk | |
| 17:39 | Overloading: implemented OverloadSet's invocation rule. check-in: 44403d3ab8 user: achavasse tags: trunk | |
| 15:19 | Overloading: implemented OverloadSet::add() check-in: 5f82b82cc8 user: achavasse tags: trunk | |
|
2019-03-15
| ||
| 20:34 | Overloading: added OverloadSet type. check-in: aebe047a28 user: achavasse tags: trunk | |
| 19:18 | Overloading: added tests for, and fixed utrie unification. check-in: 88099a9cee user: achavasse tags: trunk | |
|
2019-03-13
| ||
| 22:55 | Overloading: added tests for, and fixed utrie merging and half-unification. check-in: 8e1924aea5 user: achavasse tags: trunk | |
|
2019-03-10
| ||
| 19:20 | Overloading: first untested draft of utrie unification. check-in: 403ca496c8 user: achavasse tags: trunk | |