Goose  Timeline

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

13 check-ins using file bs/builtins/api/compiler.cpp version da45e798f2

2019-09-15
22:23
  • Added the "Verification" domain and domain specifier.
  • Parser: now parses a verification sub expression in function types, located after the domain specifier.
check-in: dc72d5dc8c user: achavasse tags: trunk
2019-09-09
16:38
Func types now store a pre assertion expression and a post assertion expression. check-in: 7c69a33283 user: achavasse tags: trunk
16:00
llr: added the assert verification instruction. check-in: 3e6bd22335 user: achavasse tags: trunk
2019-09-07
17:10
ir: got rid of the code to merge and to match two tries, which isn't used and is unlikely to be needed at this point. check-in: e9ee5d4728 user: achavasse tags: trunk
16:53
ir: rewrote the super inefficient "term versus trie" matching function. This speeds up everything significantly: compiling the mandelbrot sample is no longer embarrassingly slower than compiling an equivalent c++ version with clang. check-in: 0db33d7cb4 user: achavasse tags: trunk
2019-08-31
14:57
  • Unification: anonymous holes are substituted with their content right away, since otherwise they don't get substituted before the second pass.
  • When a tuple of types is used as a param type, it is converted to a tuple type.
  • Fix comma operator not correctly handling prepending a value to an open tuple.
  • Added tests for various tuple based features.
check-in: 1099848ccd user: achavasse tags: trunk
2019-08-30
01:07
The tuple assignment and compound assignment operators now first collect the results into temporary variables, and then perform the assignments. This allows things such as a,b = b,a to work. check-in: 982d26433b user: achavasse tags: trunk
2019-08-29
20:50
Implemented an unification rule for tuples. It is now possible to put multiple variable declarations in a tuple and initialize them using another tuple. check-in: aee9a8fb25 user: achavasse tags: trunk
20:12
Params are now encoded distinctly from normal values, to allow for more generic unification rules for things suchs as BigInt versus Integer. check-in: 6e598fe891 user: achavasse tags: trunk
2019-08-28
00:01
  • Made it possible to store non-resolved local variables in tuples.
  • Implemented DestroyValue and DropValue for tuples.
  • Implemented most operators for tuples.
check-in: adf946f1f5 user: achavasse tags: trunk
2019-08-27
21:40
Extended the comma operator to be able to handle the concatenation of, and prepending values to open tuples. check-in: 537ae5ab51 user: achavasse tags: trunk
21:10
When parsing a decl that immediately precedes a paren block (ie a function decl), use a lower precedence than the comma operator, to allow a non-parenthesized tuple to be used as the return type. check-in: 0052ff08b3 user: achavasse tags: trunk
20:27
Tuples containing only types or other tuples of types are now considered types. check-in: 533d2ce579 user: achavasse tags: trunk