Goose  Timeline

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

185 check-ins using file bs/util/CMakeLists.txt version 1b96558aa0

2019-03-31
10:26
When unifying an overloadset with a tfunc typed parameter, create a new namespace index to isolate hole names in the overloaadset from those in the called's function signature. check-in: 7da1393cf1 user: achavasse tags: trunk
10:18
Higher order functions: overload sets can be passed to template function type parameters. check-in: e184bef77b user: achavasse tags: trunk
2019-03-30
16:28
  • Fixed the conversion of a type type value to an ir expression.
  • Fixed anonymous holes not being counted in unification scores.
check-in: ecf8c6820f user: achavasse tags: trunk
15:30
  • Changed type's type representation to be able to pass types around as value anywhere.
  • Fixed a bunch of bugs.
check-in: 0e66d22527 user: achavasse tags: trunk
2019-03-28
21:00
Higher order functions: plain lambdas can be passed to template function type parameters. check-in: ee15f9081f user: achavasse tags: trunk
2019-03-27
23:27
Templates: implemented the rules for tfunctype texprs. check-in: 10aff6cb27 user: achavasse tags: trunk
22:53
Templates: split out tfunc signature construction into a separate function. check-in: 63fb3517ff user: achavasse tags: trunk
22:46
Template: recognize template function types as texprs, so they can be used in parameter declarations. check-in: 302667d2d9 user: achavasse tags: trunk
2019-03-26
20:35
Higher order functions: overload sets can be passed as arguments for function type parameters. check-in: cf4313d58b user: achavasse tags: trunk
2019-03-25
22:39
Higher order functions: it is now possible to bind a template lambda to a function typed parameter. check-in: 06b4cded56 user: achavasse tags: trunk
2019-03-23
14:04
ir: made it possible to use anonymous ANYTERM patterns in matching. check-in: 61b4955ba0 user: achavasse tags: trunk
13:45
Higher order functions: some fixes and cleanup, the simplest case (lambda function passed as parameter for a matching function type) works. check-in: 152d39532f user: achavasse tags: trunk
13:08
  • ir: terms can now contain a pointer to another term, for situations where a mutable terms needs to be shared by multiple expressions.
  • func: use a term pointer to store the function's content, so that we can distinguish a not-yet-parsed function from a non evaluated function value.
check-in: a742f106d4 user: achavasse tags: trunk
2019-03-22
21:42
Func: finally abandon the Term type which adds too much overhead and can be lived without, but instead store the signature directly as the param types, inside of the function type. check-in: 0618ab859e user: achavasse tags: trunk
21:03
Func: param unification. check-in: d62116e3e8 user: achavasse tags: trunk
20:28
Func: added Param type. check-in: dc1e1c4c16 user: achavasse tags: trunk
20:13
Use the entire callee value to look up invocation rules rather than just their type, and restricted template invocation to constant tfunc values. check-in: 0ecc71a91f user: achavasse tags: trunk
2019-03-19
20:17
Higher-order functions: implemented BuildArgPatternFromFuncType() and BuildArgPatternFromTFuncType(). check-in: 65cbac9aa3 user: achavasse tags: trunk
2019-03-18
21:00
Invocation rule: added "prepareFunc" method. check-in: 48e869cb9a user: achavasse tags: trunk
20:41
Split out the retrieval/construction of a template instance into a separate function. check-in: 2847fd86e7 user: achavasse tags: trunk
2019-03-17
20:56
Sema: terms can now be wrapped along with a post processing function. This is similar to the substitute call back, but it is invoked after the best unification solution has been chosen. check-in: 396ab349c6 user: achavasse tags: trunk
15:54
Sema: terms can now be wrapped along with a callback to be invoked by Substitute(). check-in: dd70f4c696 user: achavasse tags: trunk
11:49
Added a way to quote an expression so that its content is ignored during unification, and used it for function signatures. check-in: 68eda7b3fe user: achavasse tags: trunk
00:13
Functions: store the signature alongside the body rather than in the type, to be consistent with template functions. check-in: cce96c5a25 user: achavasse tags: trunk
2019-03-16
23:19
Overloading: parse function overloading, and multiple fixes. Overloading now works. check-in: 9089b014a2 user: achavasse tags: trunk
21:27
Overloading: the first time a function or function template declaration is encountered, it is stored in a new overloadset. check-in: 224370818a user: achavasse tags: trunk
20:46
Overloading: some preliminary function parsing refactoring. check-in: eba916730b user: achavasse tags: trunk
17:39
Overloading: implemented OverloadSet's invocation rule. check-in: 44403d3ab8 user: achavasse tags: trunk
15:19
Overloading: implemented OverloadSet::add() check-in: 5f82b82cc8 user: achavasse tags: trunk
2019-03-15
20:34
Overloading: added OverloadSet type. check-in: aebe047a28 user: achavasse tags: trunk
19:18
Overloading: added tests for, and fixed utrie unification. check-in: 88099a9cee user: achavasse tags: trunk
2019-03-13
22:55
Overloading: added tests for, and fixed utrie merging and half-unification. check-in: 8e1924aea5 user: achavasse tags: trunk
2019-03-10
19:20
Overloading: first untested draft of utrie unification. check-in: 403ca496c8 user: achavasse tags: trunk
2019-03-07
21:08
Overloading: implemented merging of a vector into an UTrie. check-in: 3519ef74a6 user: achavasse tags: trunk
2019-03-03
16:05
Overloading: added UniTrie class. check-in: 16cb791757 user: achavasse tags: trunk
15:39
Overloading: split out the unification from resolveInvocation(). check-in: 6d6a036678 user: achavasse tags: trunk
15:00
Added return types to function signatures, so that any TExpr constraint they may contain are taken into account during unification. check-in: e87aad0ef1 user: achavasse tags: trunk
2019-03-02
21:01
Function calls are now eagerly evaluated during parsing. check-in: 8a8e76084e user: achavasse tags: trunk
12:33
llr: added predicates to quickly test if an llr element is suitable for compilation time execution, or for eager evaluation. check-in: d2c4e27b15 user: achavasse tags: trunk
2019-02-27
23:04
  • Sema: added a way to define a "three way unification" sub expression.
  • Templates: used the above to generate a proper signature for TDecls, and fixed an issue with TVars.
check-in: 931f31882e user: achavasse tags: trunk
22:05
Templates:
  • Fixed the incorrect context passed to the template rule setup function, which caused TVars to create their bindings in the wrong place.
  • Added missing setup functions for decl template rules.
check-in: 0cdc45df01 user: achavasse tags: trunk
2019-02-26
22:59
Templates: Some fixes. Template functions can be successfully called. check-in: ffc50d08f4 user: achavasse tags: trunk
2019-02-25
23:14
Template: completed the implementation of the various decl template rules. check-in: e969a61da0 user: achavasse tags: trunk
21:25
Func: signatures can now include constant values, which need to match for the call to succeed. This is needed for template instantiation and will be needed for specializations once overloading is implemented. check-in: af7df64748 user: achavasse tags: trunk
2019-02-24
23:23
Templates: add missing storage of newly built instances in the invocation rule. check-in: 37f430afe6 user: achavasse tags: trunk
23:18
Templates: implemented the template function invocation rule. Some pieces are still missing before it can work. check-in: 12c9e92618 user: achavasse tags: trunk
15:37
Templates: implemented the template rules for Decl, TDecl, TNamedDecl and TVar. check-in: 1c4c7dde4c user: achavasse tags: trunk
2019-02-23
17:04
Templates: parse template function types, expressions and declarations. check-in: bc7b56fb86 user: achavasse tags: trunk
2019-02-22
21:43
Templates: implemented BuildTFuncType() and BuildTFunc(). check-in: 114cdaf51b user: achavasse tags: trunk
2019-02-21
21:38
Handle template decls in CheckParamListKind(), plus some minor cleanup. check-in: c4ea2e2754 user: achavasse tags: trunk
2019-02-20
22:34
Implemented the colon infix operator to explicitely build a Decl, TDecl or TNamedDecl. It will be useful in the future to build TDecls with a more complex TExpr than just a TVar on the rhs, it can be omitted otherwise. check-in: c22f37bc75 user: achavasse tags: trunk
21:22
Templates: implemented the infix variant of the dollar operator as a shortcut to construct TDecls where the rhs is a TVar. check-in: 1b651c004f user: achavasse tags: trunk
20:42
Templates: parse template named decls (like regular decls, but with a TExpr instead of a type). check-in: 6a9c80643f user: achavasse tags: trunk
2019-02-18
21:54
Parser:
  • Make the resolver skip newlines by default, and provide an additional "raw" api to retrieve unresolved tokens without skipping newlines.
  • Parsing rules now only return a bool to indicate whether they were successful, and can push any number of values themselves as needed.
  • Stop trying to shoehorn implicit separators in the pratt parser. Instead, use the pratt parser only for expressions, and use a different parsing loop for sequences of expressions (ie for brace blocks and top level).
check-in: 23e0cd5dc7 user: achavasse tags: trunk
2019-02-16
18:58
Templates: implemented the $ operator. check-in: 2d3dd4c2b2 user: achavasse tags: trunk
16:48
Some reorganization of template types. check-in: 054862b9f5 user: achavasse tags: trunk
13:19
Templates: added TNamedDecl type. check-in: 06665441a7 user: achavasse tags: trunk
2019-02-15
17:52
Moved function and function type construction into builtin/types/func, it doesn't really belong in sema. check-in: 8fb71ebfa3 user: achavasse tags: trunk
2019-02-14
23:11
Templates: added TFunc type. check-in: aec44da323 user: achavasse tags: trunk
22:46
Templates: added TFuncType type. check-in: 3de7b67281 user: achavasse tags: trunk
22:36
Templates: added TVar type. check-in: 2d763f32b8 user: achavasse tags: trunk
22:12
Templates: added TDecl type. check-in: 46417155c1 user: achavasse tags: trunk
20:35
Fix using statement not skipping newline markers before the expression. check-in: 0b6a7a10ee user: achavasse tags: trunk
2019-02-13
21:51
Templates: added template rules base classes. check-in: 12db48f235 user: achavasse tags: trunk
21:03
Split the builtin types directory into sub directories. check-in: eab1b7ec57 user: achavasse tags: trunk
2019-02-12
21:53
Implemented function declarations. check-in: 1cdacffc17 user: achavasse tags: trunk
21:18
Func: implement lazy body parsing. check-in: ca43fee365 user: achavasse tags: trunk
2019-02-11
22:44
  • Resolver: implemented an utility function to gather blocks as lists of tokens without parsing them, for when we want to perform lazy parsing.
  • Parser: fixed some bugs with the current delimiter getting lost in nested parsers, which caused spurious misplaced end delimiter error messages.
check-in: 91eda406ef user: achavasse tags: trunk
2019-02-10
16:32
Implemented function parameters. check-in: 64a8240bdc user: achavasse tags: trunk
15:29
llr, execute: implemented SetVar and GetVar. check-in: 5d287cd878 user: achavasse tags: trunk
2019-02-07
21:38
Change the llr representation of functions. check-in: 90002fe240 user: achavasse tags: trunk
2019-02-06
22:16
Add a relevant comment for future reference regarding the visibility of the oustide context from within functions. check-in: 0c510ab2bc user: achavasse tags: trunk
22:08
Parser: properly handle empty brace blocks. check-in: f85d5d289e user: achavasse tags: trunk
22:02
First working version of non-builtin functions. Parameters aren't handled yet. check-in: e46bf5d7e5 user: achavasse tags: trunk
20:39
Parser: parse function expressions. check-in: f35a2c529c user: achavasse tags: trunk
2019-02-05
23:45
  • ir: fixed matching variable length vectors stored in tries.
  • sema: fixed importing namespaces.
  • builtins: fixed using statement not using the correct context identity when lazily parsing the contained expression.
  • parser: now parse brace blocks.
  • parser: more work on function expressions parsing.
check-in: bf6da54506 user: achavasse tags: trunk
2019-02-04
21:41
Parser: parse function type expressions. check-in: 63faac8273 user: achavasse tags: trunk
20:54
Builtins: implemented some helpers to construct function types from parameter lists. check-in: c4c2aa50c1 user: achavasse tags: trunk
2019-02-03
21:44
Builtins: split builtin function related code into separate files. check-in: 0b110c6235 user: achavasse tags: trunk
21:35
  • Moved decl and function invocation rules out of sema and into builtins, as it makes more sense.
  • Implemented a helper to determine if a tuple is a valid parameter list.
check-in: 2e672cd033 user: achavasse tags: trunk
12:01
Parser: parse decls. check-in: bbef786dbb user: achavasse tags: trunk
11:43
Sema: implemented Decl and its conversion from/to ir. check-in: 883bfdaa35 user: achavasse tags: trunk
10:53
Fix a future potential issue when parsing using statements. check-in: 85624bef14 user: achavasse tags: trunk
2019-02-02
18:01
Implemented the builtin using statement. check-in: 79b3438adc user: achavasse tags: trunk
17:11
Sema: Env: implemented functions to import all of the content of a namespace into another. check-in: bd0cdbeca7 user: achavasse tags: trunk
16:13
ir: added helpers to make a new vector by dropping elements at the beginning or at the end of a source vector. check-in: 26221286db user: achavasse tags: trunk
14:50
Sema: Env: make it possible to register multiple value providers with the same pattern. check-in: 274597f794 user: achavasse tags: trunk
2019-02-01
18:34
Lexer:
  • added TokenProvider interface.
  • added an adapter for a vector of saved tokens as an alternative token provider.
check-in: 5ea9869c62 user: achavasse tags: trunk
2019-01-31
22:22
  • Invocation: use only the val part of arg tuples, it's easier to manipulate and unify and the contained value know their own types anyway.
  • Implemented an unification rule to peel off single element tuples where applicable.
check-in: 75d7c914c3 user: achavasse tags: trunk
20:43
Lexer: added newline separator token. check-in: cf06bf7b6a user: achavasse tags: trunk
20:29
Builtins: implemented the semicolon operator. check-in: 0ebd777925 user: achavasse tags: trunk
20:08
Parser: handle implicit statement separation. check-in: 53c43bd74d user: achavasse tags: trunk
2019-01-30
23:32
Removed an obsolete comment. check-in: b1f5302f0e user: achavasse tags: trunk
23:31
  • Moved all the high level setup (of env, resolver, parser etc) into a Compiler class, along with general purpose builtin functions (Print() and Args())
  • Fixed unification of empty vectors.
  • Fixed a couple of issues with builtin functions wrapping.
check-in: 2b052e7af9 user: achavasse tags: trunk
22:39
First draft of the compile-time interpreter. A simple builtin function call works. check-in: b844506db4 user: achavasse tags: trunk
19:53
llr: remove the variable system from the old prototype, it's going to be done differently. check-in: 109bc76611 user: achavasse tags: trunk
2019-01-29
20:20
Rename "canBeInterpreted" into "canBeExecuted". check-in: fa21ccaf91 user: achavasse tags: trunk
20:16
Function invocation: unify the arguments and create the llr call. check-in: 0be0ac2e29 user: achavasse tags: trunk
2019-01-28
23:31
Sema: implement getsignature for function types. check-in: 8c0bcfa896 user: achavasse tags: trunk
23:22
  • Builtin funcs: build the function signature and store it in the function type.
  • Sema: update the pattern for the function invocation rule because of the above.
check-in: 75e7722591 user: achavasse tags: trunk
23:05
Sema: refactor function invocation rules so that they can provide a signature of the callee, in addition of resolving a call. check-in: 714e009000 user: achavasse tags: trunk
2019-01-27
16:50
Sema: holes named _ are now considered anonymous and will always result in the creation of a new hole index. check-in: d3a22bfdc8 user: achavasse tags: trunk
16:05
Sema: added a placeholder implementation for the function invocation rule. check-in: 61cece933d user: achavasse tags: trunk
2019-01-26
23:13
Parser: implemented the parsing of calls. check-in: 92aae9c3f6 user: achavasse tags: trunk
13:55
Sema: removed the wip fun rule system, replaced it with a rule system allowing to provide different ways to resolve call depending on patterns matched against the callee. check-in: 73e2565bf5 user: achavasse tags: trunk
13:13
Sema: moved the unification rules container into Env. check-in: 0dbf71e8eb user: achavasse tags: trunk
2019-01-25
14:04
Implemented builtin compile-time function registration. check-in: c44ddff153 user: achavasse tags: trunk
11:22
Implemented c++ <-> ir tuple conversions. check-in: 465a7fe161 user: achavasse tags: trunk
2019-01-24
14:32
Refactored c++ <-> value conversions into a centralized api that can be invoked through generic code. This will be needed to wrap native compile-time functions. check-in: 58cc4d39e9 user: achavasse tags: trunk
2019-01-23
15:51
Parser: parenthese blocks. check-in: 13f2fade56 user: achavasse tags: trunk
13:48
ir, lexer: defined a new term type for block delimiters. check-in: 3acca150d3 user: achavasse tags: trunk
13:35
Parser: fixed a couple of error handling issues. check-in: 81d676111f user: achavasse tags: trunk
2019-01-22
22:46
Builtins: implemented the comma operator. check-in: 5aab57179e user: achavasse tags: trunk
20:32
Builtins: added functions to construct tuples. check-in: 931ecff8c4 user: achavasse tags: trunk
2019-01-20
17:59
Parser: added helpers to register parsing rules for prefix operators, postfix operators, and infix operators (either left or right associative). check-in: 3e4339b34a user: achavasse tags: trunk
16:45
Parser: when the resolver yields custom parsing rules wrapped as values, invoke them. check-in: 15b15050d1 user: achavasse tags: trunk
13:52
Parser: added helpers to wrap/unwrap parsing rules as values. check-in: 597aa8dbd2 user: achavasse tags: trunk
2019-01-19
20:27
Parser: add custom rule class. check-in: 68a6bbce35 user: achavasse tags: trunk
18:12
ir: added helpers to easily append terms to, and concatenate vector terms. check-in: c4239c0015 user: achavasse tags: trunk
14:11
Parser: undefined identifiers. check-in: ca60f1c1d0 user: achavasse tags: trunk
13:59
Parser: literals. check-in: f3ac0d15e2 user: achavasse tags: trunk
2019-01-18
16:19
Parser: implemented the Pratt parser skeleton. check-in: 73972ef6be user: achavasse tags: trunk
2019-01-17
20:59
Import most of the llr implementation from the previous prototype. check-in: affb657e05 user: achavasse tags: trunk
2019-01-15
18:39
  • Defined the representation for values and their conversion from/to IR expressions.
  • Began defining the LLR.
check-in: fac82a4d71 user: achavasse tags: trunk
2019-01-13
21:16
Parser: remove the context object and directly use sema::Context. check-in: 70d4f4647b user: achavasse tags: trunk
20:54
Began working on the parser. Implemented the resolver. check-in: e3ed9541a8 user: achavasse tags: trunk
16:24
Lexer: fix token locations. check-in: 0ecc93dff5 user: achavasse tags: trunk
16:11
Lexer: fix comment handling. check-in: e220b814b3 user: achavasse tags: trunk
15:59
Lexer: added some throw away test code, fixed a couple of bugs. check-in: a9ae189d74 user: achavasse tags: trunk
15:31
Lexer: semicolon. check-in: 27190e303e user: achavasse tags: trunk
15:18
Lexer: operator identifiers. check-in: 8c4d9f9fe1 user: achavasse tags: trunk
14:57
Lexer: alphanumeric identifiers. check-in: bc31b6de5e user: achavasse tags: trunk
14:45
Lexer: integer literals. check-in: 2b48ab1ac7 user: achavasse tags: trunk
14:20
Lexer: string literals. check-in: 1e7b99022a user: achavasse tags: trunk
2019-01-12
15:52
Began implementing the lexer. check-in: b89aec82e0 user: achavasse tags: trunk
13:56
Sema: first implementation of Env. check-in: bb81f8e36b user: achavasse tags: trunk
13:11
Some preliminary work on functions. check-in: 093794896f user: achavasse tags: trunk
2019-01-10
20:56
Added functions to perform fun transformation rules. check-in: bfa033bb97 user: achavasse tags: trunk
19:59
Some renaming. check-in: 33f03238f3 user: achavasse tags: trunk
2019-01-09
23:25
Implemented the IR representation of function declarations and modified the invocation rule set. check-in: 0d3e8419d0 user: achavasse tags: trunk
2019-01-08
20:54
Defined the representation of param declarations. check-in: 1ed6582136 user: achavasse tags: trunk
2019-01-07
22:29
Invocation resolution: create rule container. check-in: 5f407e5e58 user: achavasse tags: trunk
22:00
Unification: detect and reject solutions with recursively nested holes. check-in: b5952084af user: achavasse tags: trunk
2019-01-06
16:44
  • Removed the hole count from terms, as it turned out not to be useful.
  • Removed stray debugging code.
check-in: ab275db690 user: achavasse tags: trunk
16:35
Implement unification scoring. check-in: fec093d83d user: achavasse tags: trunk
2019-01-05
21:42
Cleanup some left over debugging crap. check-in: 832512a765 user: achavasse tags: trunk
21:32
  • Changed the matching scoring system to add 2 to the complexity count for each literal value matched in the pattern.
  • Added hole unification tests.
  • Fixed various hole unification bugs.
check-in: fc6c22b8bc user: achavasse tags: trunk
11:59
Unification context: keep track of the number of holes whose value is unknown, to be able easily skip incomplete unification solutions. check-in: df14f2b363 user: achavasse tags: trunk
2019-01-04
14:11
Implement hole substitution algorithm. check-in: 849a7f99e5 user: achavasse tags: trunk
2019-01-03
13:43
First draft implementation of hole vs hole unification. check-in: ce11e48c1b user: achavasse tags: trunk
2018-12-31
14:11
Hole unification work in progress. check-in: 241addc824 user: achavasse tags: trunk
08:51
Work in progress on holes unification. check-in: 293c45270a user: achavasse tags: trunk
2018-12-26
00:48
Implement hole half-unification. check-in: d126da38f7 user: achavasse tags: trunk
2018-12-25
21:04
Unification: implement "half-unification" sub algorithm which enumerates all possible solutions contained in an expression, counts their respective scores, and add dependency for any contained hole. check-in: edbc0edea1 user: achavasse tags: trunk
2018-12-17
14:52
Removed an incorrect TODO comment, replaced it with a note epxlaining why it isn't needed. check-in: 6bf68ec339 user: achavasse tags: trunk
14:46
Unify: when unifying vectors, add 1 to the complexity score. check-in: 0873b8357c user: achavasse tags: trunk
14:39
Refactored unify as a generator that can yield multiple solutions, along with a score to order them. check-in: f764dd2384 user: achavasse tags: trunk
2018-12-11
20:20
Some initial work on hole unification. check-in: e3c02e29f3 user: achavasse tags: trunk
2018-11-26
22:15
Added dependency graph implementation. check-in: f2adab69ce user: achavasse tags: trunk
21:00
Keep track of the number of holes in ir expressions. check-in: 870bb52acb user: achavasse tags: trunk
20:45
sema: change the IR representation of holes, they can now either be named or indexed. Also remove the unnecessary Hole wrapper class. check-in: d800b3e494 user: achavasse tags: trunk
2018-11-25
22:59
ir: fixed a typo. check-in: 8836bb4c35 user: achavasse tags: trunk
22:53
  • ir: added an algorithm to easily check and decompose an expression according to a specification.
  • sema: rewrote Hole::FromIRExpr() using the above.
check-in: 1abcc3571d user: achavasse tags: trunk
21:41
sema: added a class for named holes and its conversion from/to an ir expression. check-in: acc4df2877 user: achavasse tags: trunk
20:52
Implemented basic unification rules. check-in: bd77ee55b1 user: achavasse tags: trunk
2018-11-20
22:28
Implemented the unification rule dispatching. check-in: 04126adeb0 user: achavasse tags: trunk
21:56
Started working on unification. check-in: 536f9e4bca user: achavasse tags: trunk
2018-11-15
22:38
Change the representation of repetition nodes in the trie: add a shortcut to the next element to be able to deal with the case where there are zero matches of the repetition. check-in: 39fba2a61e user: achavasse tags: trunk
2018-11-14
23:30
Implemented tests for, and fixed trie/trie pattern matching. check-in: 964bf7695d user: achavasse tags: trunk
22:57
Implemented trie/trie pattern matching. check-in: 40954dec51 user: achavasse tags: trunk
01:16
Added tests for, and fixed term/trie pattern matching. check-in: 2011ce9e18 user: achavasse tags: trunk
2018-11-12
21:29
Added tests for term/term pattern matching. check-in: 4f2734ee4f user: achavasse tags: trunk
20:13
Handle AnyTerm and VecOfLength in term/trie pattern matching. check-in: fc368bcd5c user: achavasse tags: trunk
2018-11-11
21:37
Implemented term/trie pattern matching. check-in: 9b2d8524f9 user: achavasse tags: trunk
20:11
  • Remove Or term, they just complicate term/term pattern matching because they can generate multiple solutions and aren't actually useful.
  • Implemented Match for term/term.
check-in: afb316dee6 user: achavasse tags: trunk
2018-11-04
22:08
ir: implement ToString for Or terms. check-in: e065924438 user: achavasse tags: trunk
22:01
ir: fixed a bug when merging tries with different payload types. check-in: 171342f664 user: achavasse tags: trunk
21:38
ir: reworked Or: it is not stored explicitely in the trie anymore, instead we just merge all of its branches directly into the trie. Also implemented the | operator to construct Or terms and fixed related issues. check-in: 19b0da6a39 user: achavasse tags: trunk
17:12
it: added tests for, and fixed trie merging. check-in: ad246bf243 user: achavasse tags: trunk
16:20
ir: added tests for trie/term merging and fixed multiple issues with the trie data model and the Merge implementation. check-in: 907ee61bc1 user: achavasse tags: trunk
10:59
ir: implemented term comparison operator. check-in: b2eec29afd user: achavasse tags: trunk
2018-11-03
00:19
ir: Implemented Compare. check-in: adc06c3670 user: achavasse tags: trunk
2018-11-02
18:20
ir: implemented Enumerate. check-in: 7b2e42a02c user: achavasse tags: trunk
17:11
ir: implemented the graphviz trie dumper, and fixed some bugs in Merge. check-in: 5ecf839837 user: achavasse tags: trunk
13:47
Implemented a helper to generate graphviz dot files. check-in: 7ccb7ffbb1 user: achavasse tags: trunk