Goose  Timeline

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

19 check-ins using file bs/verify/value.cpp version 9a3c1135db

2021-09-12
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
2021-06-15
21:14
Small fixes check-in: 05a35f70f0 user: achavasse tags: trunk
2021-06-11
11:42
  • Removed the Conversion step, it could all be done using PostProcessing callback, there were just TypeChecking rules missing to unwrap the callbacks...
  • Fixed some ill defined reference type checking rules
  • Runtime integers no longer have a default initializer of 0. This isn't that useful considering that 0 may not be valid depending on the refinement conditions applied to the type
check-in: 91a6550edb user: achavasse tags: trunk
2021-04-11
13:10
Implemented a way to track down (in debug builds) which typechecking rules were used to select a given function overload that doesn't involve peppering half the code base with debug prints and then painstakingly poring over a gigantic log check-in: 4ece399a6f user: achavasse tags: trunk
2021-03-19
21:49
Verification: when loading a value from memory, emit assumptions for its type's refinement conditions. check-in: 5d2f26492e user: achavasse tags: trunk