Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
37 check-ins using file bs/parse/rule-helpers.cpp version 1af039e945
|
2019-06-18
| ||
| 21:44 | Added some helper functions for domains and identities. check-in: a15bdabfec user: achavasse tags: trunk | |
|
2019-06-17
| ||
| 22:00 | Pass the sema context to ParseFuncBody(), rather than just the env. check-in: 9320a3b76f user: achavasse tags: trunk | |
|
2019-06-16
| ||
| 14:41 | Added the current domain to sema context, and include it in function identities. check-in: 7e053c8063 user: achavasse tags: trunk | |
|
2019-05-25
| ||
| 10:44 | Domains: refactored functions to use the new representation. check-in: cf3bb178ea user: achavasse tags: trunk | |
|
2019-05-22
| ||
| 21:35 | Execution domains: created a new representation for function values that contains enough informations to retrieve or build the same function for a different execution domain. check-in: cd9b67cf09 user: achavasse tags: trunk | |
|
2019-05-04
| ||
| 21:04 | Cleanup: make use of c++20 explicit lambda template parameter lists to get rid of some clunky decltype(). check-in: 980e2740bc user: achavasse tags: trunk | |
|
2019-04-14
| ||
| 20:10 | Small cleanup. check-in: 26ee86b2dd user: achavasse tags: trunk | |
| 18:43 | Allow any texpr to be used as a function parameter, so we can write a generic parameter as just $a instead of $t $a if we don't care about capturing its type. check-in: da786f812f user: achavasse tags: trunk | |
| 17:30 | Fixed a test name. check-in: 0ca4414e9d user: achavasse tags: trunk | |
| 17:22 | Added tests for higher order template functions, and higher order polymorphism. check-in: 185f783a15 user: achavasse tags: trunk | |
| 17:07 | Added tests for higher order functions, and fixed some previously missed bugs. check-in: 31e4e0e834 user: achavasse tags: trunk | |
| 15:18 | Added tests for overloading and template functions. check-in: fa01f562ca user: achavasse tags: trunk | |
| 14:57 | Removed the ct_ prefix from the compile time int and string types for now. It's ugly and we don't need to decide on their names until starting library work anyway. check-in: 2b1598932c user: achavasse tags: trunk | |
| 14:53 | Fixed a few bugs and started to turn the haphazard test code into proper, automated tests of the core language features. check-in: f78ccdd8a8 user: achavasse tags: trunk | |
|
2019-04-13
| ||
| 22:03 | api: added a builtin Execute command, which executes the specified file. Also added the possibility to optionally return an error code. check-in: 47708770e6 user: achavasse tags: trunk | |
| 10:55 | Started a first version of a minimal compile time api to be able to implement proper automated testing of the language features. check-in: b2a8a8ad0b user: achavasse tags: trunk | |
|
2019-04-12
| ||
| 19:37 |
| |
|
2019-04-11
| ||
| 19:11 | llr: add Ret element. check-in: 82591a0918 user: achavasse tags: trunk | |
|
2019-04-09
| ||
| 21:38 | Higher order polymorphism: changed the representation of constrained func to be explicit instead of just an opaque pointer, so that it can be used as is within function identities. check-in: b7fd77d885 user: achavasse tags: trunk | |
| 20:15 | Standardize the way function identities are generated, and give overload sets their own identities. This will be necessary to generate proper identities for template functions instanced with polymorphic parameters. check-in: da8245add8 user: achavasse tags: trunk | |
|
2019-04-08
| ||
| 22:15 | Compare the addresses of pvoid once again in compare to match the behavior of pvoid stored in tries. That change wasn't actually needed anyway. check-in: 0a9cac94de user: achavasse tags: trunk | |
| 21:39 | func: move the identity back into the llr func, as we will need it some day to generate a label for the code generation. check-in: a307741bd9 user: achavasse tags: trunk | |
| 20:29 | Higher order polymorphism: fix non-callable template lambdas passed as a generic compile-time parameter. check-in: 007891dc2f user: achavasse tags: trunk | |
|
2019-04-06
| ||
| 15:19 | Higher order polymorphism: implemented the unification of a polymorphic tfunc type param with an overload set. check-in: 2f27622539 user: achavasse tags: trunk | |
| 14:16 |
| |
|
2019-04-04
| ||
| 20:08 | Higher order polymorphism: refactored TDecl to use its own representation as its signature. check-in: f5fb53ad20 user: achavasse tags: trunk | |
|
2019-04-03
| ||
| 20:56 | Higher order polymorphism: overloadset and tfunc invocation no longer consider multiple unification solutions with the same score to be ambiguous if they are actually the same solution. check-in: be53d55f67 user: achavasse tags: trunk | |
|
2019-04-02
| ||
| 20:38 | Higher order polymorphism: implemented ConstrainedFunc unification. check-in: f6c1df5107 user: achavasse tags: trunk | |
|
2019-04-01
| ||
| 20:37 | sema: implemented SubstituteNamed. check-in: 121c78d7e5 user: achavasse tags: trunk | |
| 20:25 | Higher order polymorphism: implemented ConstrainedFunc invocation rule. check-in: 01c479df9a user: achavasse tags: trunk | |
| 19:57 | Higher order polymorphism: added ConstrainedFunc type. check-in: 0d3294dcf0 user: achavasse tags: trunk | |
|
2019-03-31
| ||
| 20:42 | Higher order functions: template lambdas can be passed to template function parameters. check-in: 25d0ee65d4 user: achavasse tags: trunk | |
| 19:05 | Use conan to install immer, and updated conan.cmake to the latest version. check-in: b9a16492e0 user: achavasse tags: trunk | |
| 10:26 | When unifying an overloadset with a tfunc typed parameter, create a new namespace index to isolate hole names in the overloaadset from those in the called's function signature. check-in: 7da1393cf1 user: achavasse tags: trunk | |
| 10:18 | Higher order functions: overload sets can be passed to template function type parameters. check-in: e184bef77b user: achavasse tags: trunk | |
|
2019-03-30
| ||
| 16:28 |
| |
| 15:30 |
| |