Goose  Timeline

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

49 check-ins using file bs/sema/overloadset.cpp version 162dde70ac

2021-09-23
21:42
Got rid of trie versus trie matching, again. The clown show goes on check-in: ad0b20f57d user: achavasse tags: trunk
2021-09-22
20:25
Removed the gross use of std::any from the type checking trie, also fixed some horribly wrong type error that got hidden by the std::any and happened to miraculously work anyway check-in: fabfc6df97 user: achavasse tags: trunk
2021-09-21
22:43
Resurrected and updated trie versus trie matching that was removed [e9ee5d4728e2b2807b761d67820df11dcfbcdbaea2742828ac9ec8f8d3372e3e|a long time ago] to attempt an overload resolution optimization check-in: 626dafb38e user: achavasse tags: trunk
18:48
eir: remove the function to match a single eir against another eir, which was never actually used check-in: dbf5bbf612 user: achavasse tags: trunk
2021-09-20
23:23
Integrated the Tracy profiling client and added some profiling instrumentation check-in: b846dfa2fb user: achavasse tags: trunk
2021-09-19
23:35
Fixed various bugs encountered while trying to override an extension point in the prelude check-in: 89c0616e71 user: achavasse tags: trunk
20:18
Implemented "Implies" and "PHOverride" verification-specific CIR instructions check-in: 56ae4179a9 user: achavasse tags: trunk
19:30
g0 api: ReferenceType and retrieving type predicates check-in: 78e91a4545 user: achavasse tags: trunk
16:06
Began implementing the prelude, which now sets up the g1 namespace, hiding all the internal builtins and APIs from user code. check-in: 15fd7eba11 user: achavasse tags: trunk
14:42
g0 api: #CompileFileToFunction takes the identity to use as root as parameter check-in: dd5e98c20d user: achavasse tags: trunk
14:23
g0 api: Env check-in: 0da72aac62 user: achavasse tags: trunk
13:59
g0 api: diagnostics check-in: 5ccfe91819 user: achavasse tags: trunk
11:20
g0 api: CIR: CFG check-in: bdfee6615a user: achavasse tags: trunk
10:30
g0 api: CIR: BasicBlock check-in: b96622b654 user: achavasse tags: trunk
2021-09-18
18:43
g0 api: more work on the CIR api check-in: 447824df93 user: achavasse tags: trunk
17:00
  • Refactored LocationId into a separate class and actually use it everywhere instead of uint32_t, this makes it easier to make generic wrappers for APIs
  • g0 api: more work on the CIR api
check-in: bf81e30984 user: achavasse tags: trunk
2021-09-17
23:04
g0api, builtins: got rid of TermWrapper and ValueWrapper, use specializations of TypeWrapper instead to allow for more generic code check-in: 4a571387ed user: achavasse tags: trunk
20:43
g0 api: more work on the CIR api check-in: a7c05af907 user: achavasse tags: trunk
19:15
g0 api:
  • extended the generic TypeWrapper to handle pointers to types that aren't part of the Term variant
  • more work on the CIR api
check-in: ab9c71d048 user: achavasse tags: trunk
2021-09-16
21:31
g0 api: started implementing the CIR api check-in: 8dd49b0d89 user: achavasse tags: trunk
21:01
g0 api: implemented Value api check-in: 5c68efeb07 user: achavasse tags: trunk
20:05
g0 api: the EIR Terms are now completely covered check-in: 78da84d2af user: achavasse tags: trunk
19:00
More work on the g0 EIR api check-in: 967d3ba3d7 user: achavasse tags: trunk
2021-09-15
22:15
Fixed the generic CTType and RTType patterns, and removed the super generic assignment operator overload that would accept literally any type check-in: ea7c04df2f user: achavasse tags: trunk
21:24
  • VecOfLength() will now match vectors of compatible length, taking repetition terms into account
  • Vector unification and typechecking rules now handle vectors of variable lengths
check-in: a4f1ada98c user: achavasse tags: trunk
01:02
More work on the extensibility api check-in: 29872be1f2 user: achavasse tags: trunk
00:11
Added a test for, and fixed tctrie variable length vector type checking check-in: c1b565fdda user: achavasse tags: trunk
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
check-in: 51f288ba2a user: achavasse tags: trunk
2021-09-12
23:52
Repo: syntax color theme change check-in: b4fe430e44 user: achavasse tags: trunk
23:20
Repo: more syntax highlighting workarounds check-in: 6c481d18a4 user: achavasse tags: trunk
23:18
Repo: syntax highlighting issue workaround check-in: 4b28030b9a user: achavasse tags: trunk
23:09
Updated repo's syntax highlighting check-in: 951c8fed08 user: achavasse tags: trunk
21:38
  • Fixed TermRef
  • Began implementing the api to manipulate the EIR
check-in: 13e21deeef user: achavasse tags: trunk
16:48
  • Started work on extensibility api
  • some code cleanup
check-in: 55beba911a user: achavasse tags: trunk
13:43
Small cleanup check-in: 9345aa6eae user: achavasse tags: trunk
13:42
Adopted a new convention for source extensions: .g0 for prelude code (where most language features won't be available), .g1 for user code check-in: 45f663093d user: achavasse tags: trunk
12:34
Split out the compile time api function out of builtins and into their own library check-in: b397dc5a7c user: achavasse tags: trunk
2021-09-11
23:40
Builtins: api: added an object to wrap a term reference check-in: 5a2d5b8a8b user: achavasse tags: trunk
23:02
Builtin funcs: added a wrapper for constant valued parameter (to be able to overloaded api functions depending on enum values) check-in: f4ea7d08af user: achavasse tags: trunk
19:44
  • Fixed execution of void intrinsic function causing a bogus error message
  • Fixed the intrinsic operator
check-in: bc64264206 user: achavasse tags: trunk
15:05
  • template functions can now be intrinsic
  • implemented the "intrinsic" operator to create intrinsic functions
  • some code cleanup
check-in: ba2f4e9f95 user: achavasse tags: trunk
2021-09-10
00:02
Parser: when parsing a function overload, instead of directly adding it to the overload set, push an "Overload" value that performs the addition in DropValue(). This will allow operators to modify overloads before they are added to an overload set. check-in: 5f4eeaef12 user: achavasse tags: trunk
2021-09-09
18:21
Implemented the $$ operator to create a forwarding template variable check-in: 9b9f4b0fa9 user: achavasse tags: trunk
18:12
Implemented non-builtin intrinsic function invocation check-in: 121560d1c1 user: achavasse tags: trunk
2021-09-01
23:26
Some cleanup and small reorganization in preparation for implementing non builtin intrinsic functions check-in: bbd2c17c42 user: achavasse tags: trunk
2021-08-31
23:10
  • Added extension points to transform parameter types and function arguments
  • Fixed the incorrect type predicate type checking rule which should just preserve the argument's predicates as is
  • Fixed verification of return intructions that were checking the returned value's predicates, instead of the return type predicates (which happened to work anyway until the above fix)
check-in: 4b842721d2 user: achavasse tags: trunk
2021-08-29
21:49
  • Type predicates' identity and placeholder are now created immediately, rather than when parsing their content
  • Added missing type predicates lazy parsing during typechecking
  • Fixed a type checking rule falling back to unification, which is no longer needed
check-in: 2d2defb442 user: achavasse tags: trunk
19:13
Removed stray debugging code. check-in: 7e15ecf852 user: achavasse tags: trunk
2021-08-28
17:55
  • Instead of falling back to unification as the default type checking rule, implemented default type checking rules similar to the default unification ones
  • Fixed a nasty generator bug
  • Fixed reference type parsing not generating a location
  • Fixed where operator not generating a location that spanned both the types and the predicates
  • Various fixes to accomodate random api changes in the latest llvm
  • Updates fmt and catch2 versions
check-in: 46e87c202b user: achavasse tags: trunk