Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file bs/builtins/types/template/build.cpp at check-in 27fc719d74bbfdc2
|
2024-09-15
| ||
| 20:24 | Add clang format settings, reformat everything file: [8d06bcd06b] check-in: [0db147f117] user: achavasse branch: cir-ssa-refactor, size: 4274 | |
|
2022-09-02
| ||
| 21:42 |
| |
|
2022-07-25
| ||
| 17:23 | vararg templates: set the signature of pack texprs as the repeating part of the vector, and diagnose packs not appearing last file: [02708c8f49] check-in: [27cf09cdf5] user: zlodo branch: trunk, size: 3755 | |
|
2022-07-18
| ||
| 23:45 | vararg templates: added a "prepare template" step prior to generating the template signature, which does nothing yet file: [8b76f16980] check-in: [fe34bd71de] user: zlodo branch: trunk, size: 3201 | |
|
2022-02-18
| ||
| 17:36 |
| |
|
2021-11-22
| ||
| 20:22 | Function pre-conditions and post-conditions now use the same proposition lists as type predicates file: [a8b51c3a15] check-in: [1c335aeb04] user: zlodo branch: trunk, size: 3198 | |
|
2021-10-27
| ||
| 20:55 | Parser: when building a function, if its parent identity depends on type predicates captured by template vars, build it as a template function instead. file: [caa76f94f1] check-in: [45078c42df] user: zlodo branch: trunk, size: 3580 | |
|
2021-09-28
| ||
| 17:59 | Fix functions and template functions not getting compiled with visibility over their original enclosing scope, but over the current scope at the point of invocation instead file: [af3d99ea03] check-in: [39c8a653da] user: achavasse branch: trunk, size: 3282 | |
|
2021-09-26
| ||
| 23:25 | Fixed template bugs with parametric types file: [ddd911474e] check-in: [097569fdd6] user: achavasse branch: trunk, size: 3230 | |
| 21:11 | TDecl: instead of directly storing the type signature (and forgetting all about the nested TExprs), we store the TExpr and generate the signature during typechecking file: [3f3489b3e1] check-in: [00408e8723] user: achavasse branch: trunk, size: 3230 | |
|
2021-09-13
| ||
| 21:52 |
| |
|
2021-09-12
| ||
| 16:48 |
| |
|
2021-01-21
| ||
| 21:05 | Removed the vector "typechecking rule", whose existence made no sense. Typechecking rules should operate only on values and pattern of values. Typechecking multiple values against multiple params is now done through a specific function instead. file: [cafbddd3cd] check-in: [7b9f645074] user: achavasse branch: trunk, size: 3504 | |
|
2021-01-02
| ||
| 18:00 | Some more renaming. file: [d97033e98b] check-in: [0345b9f807] user: achavasse branch: trunk, size: 3433 | |
|
2020-06-26
| ||
| 23:34 |
Cleanup:
| |
|
2019-09-26
| ||
| 23:37 | Refactored the parsing of verification statements so that it works properly in all cases (regular functions, template functions, function type expressions, lambdas). file: [d7d3b8705b] check-in: [4fe418f4d0] user: achavasse branch: trunk, size: 3510 | |
|
2019-09-22
| ||
| 14:37 | Project renaming. file: [b248b97f8b] check-in: [af650a9e95] user: achavasse branch: trunk, size: 3435 | |
|
2019-09-17
| ||
| 20:08 |
| |
|
2019-08-16
| ||
| 23:52 | Simplified ir::Vector, use plain std::vector to store the terms. immer::vector was pointless for that since we pretty much never actually take advantage of them being CoW in this case. file: [68b6e76598] check-in: [f2ca82dfce] user: achavasse branch: trunk, size: 3428 | |
| 14:48 | Added a new type of template expression: TVec, along with a helper function to make it possible for parametric types to be constructed either normally or as a template expression when passed template parameters. Only used by LocalVar for now, parametric runtime types require some refactoring. file: [f13d8c7b5c] check-in: [27fc719d74] user: achavasse branch: trunk, size: 3593 | |
|
2019-08-13
| ||
| 23:27 | cleanup: got rid of more optional< Value >. file: [7decd963bb] check-in: [0288a69883] user: achavasse branch: trunk, size: 3595 | |
|
2019-08-11
| ||
| 18:59 | Converted all the remaining error messages to use the diagnostics manager. file: [44b2b5baf1] check-in: [4a121b956a] user: achavasse branch: trunk, size: 3601 | |
|
2019-08-10
| ||
| 14:26 | Refactored the lexer (and the resolver) to output Terms associated with location Ids. file: [e9cbae6050] check-in: [c4abb2a3ed] user: achavasse branch: trunk, size: 3168 | |
|
2019-08-09
| ||
| 19:54 | Cleanup: got rid of the half-assed location and poisoning systems in ir::Terms. file: [8779f5f9f3] check-in: [aee388d9c0] user: achavasse branch: trunk, size: 3171 | |
|
2019-07-07
| ||
| 10:33 | Parser: refactored function and template function parsing to go through a common code path to build function types. file: [37a08ea0e3] check-in: [5fd301c5f9] user: achavasse branch: trunk, size: 3192 | |
|
2019-06-29
| ||
| 14:36 | Handle execution domains when invoking/unifying functions, template functions, overload sets and constrained funcs. file: [43051cfd03] check-in: [2acce94d2d] user: achavasse branch: trunk, size: 3304 | |
| 11:40 | Added a domain specifier in function and template function types. file: [d5e786e75c] check-in: [ef1e94f44d] user: achavasse branch: trunk, size: 3237 | |
|
2019-05-25
| ||
| 10:44 | Domains: refactored functions to use the new representation. file: [d9c80fc0cc] check-in: [cf3bb178ea] user: achavasse branch: trunk, size: 3181 | |
|
2019-04-09
| ||
| 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. file: [1ef524f33e] check-in: [da8245add8] user: achavasse branch: trunk, size: 3260 | |
|
2019-04-06
| ||
| 14:16 |
| |
|
2019-04-04
| ||
| 20:08 | Higher order polymorphism: refactored TDecl to use its own representation as its signature. file: [7b0ac096ee] check-in: [f5fb53ad20] user: achavasse branch: trunk, size: 3448 | |
|
2019-03-28
| ||
| 21:00 | Higher order functions: plain lambdas can be passed to template function type parameters. file: [a050f96efc] check-in: [ee15f9081f] user: achavasse branch: trunk, size: 3067 | |
|
2019-03-27
| ||
| 23:27 | Templates: implemented the rules for tfunctype texprs. file: [ab510f970f] check-in: [10aff6cb27] user: achavasse branch: trunk, size: 3041 | |
| 22:53 | Templates: split out tfunc signature construction into a separate function. file: [3f731bd0d0] check-in: [63fb3517ff] user: achavasse branch: trunk, size: 3091 | |
|
2019-03-19
| ||
| 20:17 | Higher-order functions: implemented BuildArgPatternFromFuncType() and BuildArgPatternFromTFuncType(). file: [3ffc6459f1] check-in: [65cbac9aa3] user: achavasse branch: trunk, size: 2900 | |
|
2019-03-03
| ||
| 15:00 | Added return types to function signatures, so that any TExpr constraint they may contain are taken into account during unification. file: [3e730f7617] check-in: [e87aad0ef1] user: achavasse branch: trunk, size: 1832 | |
|
2019-03-02
| ||
| 12:33 | llr: added predicates to quickly test if an llr element is suitable for compilation time execution, or for eager evaluation. file: [cae9dfca8c] check-in: [d2c4e27b15] user: achavasse branch: trunk, size: 1559 | |
|
2019-02-27
| ||
| 22:05 |
Templates:
| |
|
2019-02-24
| ||
| 23:18 | Templates: implemented the template function invocation rule. Some pieces are still missing before it can work. file: [e7ca10b0b4] check-in: [12c9e92618] user: achavasse branch: trunk, size: 1486 | |
|
2019-02-22
| ||
| 21:43 | Added: Templates: implemented BuildTFuncType() and BuildTFunc(). file: [a71ab7da95] check-in: [114cdaf51b] user: achavasse branch: trunk, size: 1416 | |