Goose  Timeline

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

22 check-ins using file bs/builtins/types/runtime/basic.cpp version ba112917fd

2020-02-26
22:48
builtins: added the reference type. check-in: b4dfb8c928 user: achavasse tags: trunk
2020-02-23
23:57
llr: added the load and store instructions. check-in: f34a90f312 user: achavasse tags: trunk
2020-02-22
21:22
llr: added the GEP instruction. check-in: 1f1bc22ffc user: achavasse tags: trunk
2020-02-20
22:44
Minor code formatting cleanup. check-in: 0af3d1c728 user: achavasse tags: trunk
22:42
  • Wrap function parameters into local variables, which will make it easier later on to distinguish temporaries from stack values when implementing references.
  • Register parameters for destruction, which was missing.
  • Added an invocation rule for local variables, so that they can be invoked if they contain an invokable object.
check-in: 652107629a user: achavasse tags: trunk
2020-02-17
23:15
Register temporary values returned from function calls for destruction, so that DestroyValue() is invoked on them. check-in: a0ee0dfc2e user: achavasse tags: trunk
2020-02-15
15:13
Started to implement a virtual memory sub system for compilation time execution. check-in: f18062b8da user: achavasse tags: trunk
2020-02-09
19:23
Small cosmetic error messages fixes. check-in: edf6a9d2ed user: achavasse tags: trunk
19:02
Builtin operators:
  • Verification time assertion failure errors for builtin division, module and shift operators are anchored to a valid source code location.
  • Added custom error messages for the above.
  • Added tests for the above.
check-in: c4a6d4d66b user: achavasse tags: trunk
16:55
  • The builtin integer division and modulo operators now require a compile-time proof that the divider is not zero.
  • The builtin integer left shit and right shift operators now require a compile-time proof that the rhs value is less than the bitsize of lhs.
check-in: 8c4fcc68b0 user: achavasse tags: trunk
2020-02-04
21:42
Builtins: implemented helpers to construct complex computed values using expression templates. check-in: 6ed2bd7a75 user: achavasse tags: trunk
20:20
Unfuck some documentation. check-in: 87f7150020 user: achavasse tags: trunk
2020-02-02
23:13
Docs: small layout improvement. check-in: 0521bfdcdf user: achavasse tags: trunk
23:10
Some documentation cleanup and update. check-in: c9186b7b9f user: achavasse tags: trunk
21:47
Refinement types: implemented tests and fixed some issues. check-in: 972099a359 user: achavasse tags: trunk
2020-02-01
23:28
Refinement types:
  • Assert type predicates after a variable assignment
  • Check type predicates when checking a compile-time function call
check-in: 216ff2d9c8 user: achavasse tags: trunk
22:54
Refinement types: when calling a function, assert the param's predicates and assume the return type's predicates. check-in: d828564e66 user: achavasse tags: trunk
22:32
Refinement types: assert the return type predicates when returning from a function. check-in: 7259273cf9 user: achavasse tags: trunk
2020-01-28
21:52
Refinement types: assume parameter types predicates at the beginning of functions. check-in: 7f16edb82a user: achavasse tags: trunk
2020-01-27
00:24
Refinement types: parse predicates lazily to play well with templates. check-in: e57c63fea5 user: achavasse tags: trunk
2020-01-23
22:24
Refinement types: implemented the where operator to add predicates to a type. check-in: 9586391cdb user: achavasse tags: trunk
2020-01-22
22:14
Standardized the way type values are encoded to make room for an optional pointer to a list of predicates for refinement types. check-in: cc380f4f8f user: achavasse tags: trunk