Goose  History of bs/builtins/types/template/build.h of 5fd301c5f90f3d50

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file bs/builtins/types/template/build.h at check-in 5fd301c5f90f3d50

2024-09-15
20:24
Add clang format settings, reformat everything file: [1c05a32605] check-in: [0db147f117] user: achavasse branch: cir-ssa-refactor, size: 617
2022-07-18
23:45
vararg templates: added a "prepare template" step prior to generating the template signature, which does nothing yet file: [af7e95f0db] check-in: [fe34bd71de] user: zlodo branch: trunk, size: 588
2022-02-18
17:36
  • refactored function parsing so that ghost function declarations can actually work (ie they don't expect a function body)
  • some fixes in codegen to properly ignore statements involving ghost functions
file: [4386a75990] check-in: [07963466bf] user: zlodo branch: trunk, size: 580
2021-10-31
18:52
  • Reverted most of the horribly complicated changes done since [b3ff9af3c2fe4925], other than the ability to hash all terms, values, instructions and predicates
  • Solved the problem for which tests were added in [b3ff9af3c2fe4925] in a much simpler way
file: [00e9171ad7] check-in: [1fe5a1ac2b] user: zlodo branch: trunk, size: 568
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: [c2fc3847be] check-in: [45078c42df] user: zlodo branch: trunk, size: 632
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: [5ea01fef51] check-in: [39c8a653da] user: achavasse branch: trunk, size: 566
2021-09-26
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: [d0278564b4] check-in: [00408e8723] user: achavasse branch: trunk, size: 530
2021-09-13
21:52
  • Implemented a generic wrapper for the simple native types that can be embedded in Terms
  • Added more specific overloads for the assignment operator that should work only on builtin types, so that library and user defined types will be able to choose whether they're copyable
  • The EIR representation for all builtin runtime types are now prefixed with "rt_type" to more easily write generic matching rules against them
  • EIR: Fixed long standing bugs in Enumerate and Decompose that surfaced because of the above
  • Miscellaneous code cleaning
file: [a0410b78ba] check-in: [51f288ba2a] user: achavasse branch: trunk, size: 629
2020-06-26
23:34
Cleanup:
  • Removed the poorly thought out "domain" system that was intended to allow for different implementations of functions for runtime and for compilation time, which was adding an absurd amount of crap everywhere and should be unnecessary with the current planned approach for implementing data structures.
  • The using statement doesn't do lazy parsing anymore. Lazy parsing is better left to specific constructs that require them (such as function bodies and later on class/structs). This removes the only case of significant newline character in the language.
file: [aba6775565] check-in: [568c366a36] user: achavasse branch: trunk, size: 636
2019-09-22
14:37
Project renaming. file: [1c9bef671e] check-in: [af650a9e95] user: achavasse branch: trunk, size: 656
2019-08-13
23:27
cleanup: got rid of more optional< Value >. file: [26b305c343] check-in: [0288a69883] user: achavasse branch: trunk, size: 662
2019-08-10
14:26
Refactored the lexer (and the resolver) to output Terms associated with location Ids. file: [019fd034df] check-in: [c4abb2a3ed] user: achavasse branch: trunk, size: 674
2019-07-07
10:33
Parser: refactored function and template function parsing to go through a common code path to build function types. file: [40ccb92d8e] check-in: [5fd301c5f9] user: achavasse branch: trunk, size: 669
2019-06-29
11:40
Added a domain specifier in function and template function types. file: [5db552f0bf] check-in: [ef1e94f44d] user: achavasse branch: trunk, size: 692
2019-05-25
10:44
Domains: refactored functions to use the new representation. file: [47467320b9] check-in: [cf3bb178ea] user: achavasse branch: trunk, size: 652
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: [e27cb7847b] check-in: [da8245add8] user: achavasse branch: trunk, size: 662
2019-04-06
14:16
  • Simplified TDecl: the right hand side can now only be a TVar. Removed the colon operator.
  • Added the possibility in unification to make hole resolution non mandatory for a sub expression.
  • Higher order polymorphism: implemented the unification of a polymorphic tfunc type param with a template lambda.
file: [30c67567d2] check-in: [fc331f1703] user: achavasse branch: trunk, size: 660
2019-04-04
20:08
Higher order polymorphism: refactored TDecl to use its own representation as its signature. file: [a65836f643] check-in: [f5fb53ad20] user: achavasse branch: trunk, size: 660
2019-03-27
23:27
Templates: implemented the rules for tfunctype texprs. file: [567abaa79d] check-in: [10aff6cb27] user: achavasse branch: trunk, size: 554
22:53
Templates: split out tfunc signature construction into a separate function. file: [c410fc1e7d] check-in: [63fb3517ff] user: achavasse branch: trunk, size: 578
2019-03-19
20:17
Higher-order functions: implemented BuildArgPatternFromFuncType() and BuildArgPatternFromTFuncType(). file: [c73033e19d] check-in: [65cbac9aa3] user: achavasse branch: trunk, size: 463
2019-02-22
21:43
Added: Templates: implemented BuildTFuncType() and BuildTFunc(). file: [ee3d90c1e4] check-in: [114cdaf51b] user: achavasse branch: trunk, size: 346