| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* DuplicateDnfRewriter replaces DNF with their canonical
representatives
* ClauseInputParameterResolver removes input parameters by demand set
transformation
* CompositeRewriter for rewriter stacks
|
|
|
|
|
|
| |
This is needed for demand set transformation of DNFs with input data parameters,
where the result of the transformation has an out data parameter that has to be
unified with the variable in the parent clause.
|
|
|
|
|
| |
* Use method object pattern to simplify code.
* Optimize existential quantification in transitive queries.
|
|
|
|
| |
Support for count and aggregation is still missing.
|
| |
|
|
|
|
|
|
|
| |
Allow computing hash codes up to the renaming of variables.
Also introduces CheckLiteral instead of AssumeLiteral for more straightforward
naming.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable deterministic state-space exploration by ordering activations in
lexicographic order.
This preliminary implementation adds oredering as a wrapper for ResultSet
instances, but more sophisticated support could be built directly into query
engine adapters if a query engine supports deterministic output by default.
* Implements Comparable for tuples with loops unrolled for small tuples by hand.
* Cleans up the contents of the (root of the) tools.refinery.query package.
* Adds ResultSetListener to notify clients about ResultSet changes.
* Adds OrderStatisticTree data structure for determinisitc ordering of keys.
|
|
|
|
|
| |
The filer can't return true for the default value, because tuples with default
value cannot be enumerated.
|
|
|
|
| |
We will need to rework rule execution according to recent Dnf changes.
|
| |
|
|\
| |
| | |
Query refactor
|
| | |
|
| | |
|
| |
| |
| |
| | |
Shorthad syntax for the most commonly used symbol types.
|
| | |
|
| |
| |
| |
| |
| | |
Add the ability to create assertions without pre-processing Dnf clauses (raw
matchin mode). Also fix tests broken by Dnf pre-processing.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Introduce parameter directions for constraints and DNF
* Introduce variable directions for literals
* Infer and check variable directions in DNF and topologically sort literals by
their input variables
|
| |
| |
| |
| |
| | |
Temporarily remove custom scrollbar and indentation styling, because they
interferred with cursor visibility.
|
| | |
|
| |
| |
| |
| | |
Disable some rules that we don't use but require repeated file parsing.
|
| |
| |
| |
| |
| |
| | |
* Avoid writing generated source files directly into sibling projects.
* Full project isolation cannot be enabled yet, because the frontend plugin
still requires cross-projects task dependencies for Node.js installation.
|
| |
| |
| |
| |
| | |
Also increases timeout in WebSocket integration test to avoid failures due to
increased CPU usage during build.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Separate different operators into different classes to make it easier to add
functionality (e.g., simplification) later.
* Add UpperCardinality terms.
* Move UpperCardinality aggregator and tests into refinery-store-query.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Remove the reflection-based machinery around adapter types.
* Adapter builders, store adapters, and model adapters are now only associated
with each other based on static and runtime types.
* Simplifies writing new adapters.
* Hierarchical syntax for adding adapter builders to the store builder.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* Helps keeping variable scoping clear by limiting variable scopes to the body
of the corresponding lambda.
* Overloads for convenience where variables are automatically created for lambda
parameters.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Java 19 is out of support, but Gradle current does not run on Java 20:
https://github.com/gradle/gradle/issues/23488
To avoid the complexity of running the build tool on a different JDK than the
application, we temporarily remove code that depends on experimental Java 19 or
Java 20 features.
Revert once the build can run on Java 20.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Java 19 is out of support, but Gradle current does not run on Java 20:
https://github.com/gradle/gradle/issues/23488
To avoid the complexity of running the build tool on a different JDK than the
application, we temporarily remove code that depends on experimental Java 19 or
Java 20 features.
Revert once the build can run on Java 20.
|
| |
| |
| |
| | |
Also make sure Sonar can process TypeScript files.
|
| |
| |
| |
| |
| | |
* Add NodeFunctionView for symbols that hold function-like (single
associated object for each key) relations as integer values for performance.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure we obey the REUSE (https://reuse.software) specification and the
origin, copyright owner, and license of all files are clearly marked.
The whole project is under the EPL-2.0, except for trivial files where copyright
is not applicable that are marked with the CC0-1.0 license. Moreover, code
included from third parties is also available under the respective license.
chore: add CONTRIBUTORS.md
List all authors and supporting organizations in accordance with the REUSE
specification.
|
| |
| |
| |
| |
| |
| |
| | |
Also take advantage of precompiled Kotlin scripts to write build scripts in a
more straightforward manner through generated accessors.
Might increase memory usage of Gradle.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Allows removing Eclipse-specific generated files from the source tree quickly.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Always write ESLint output to a file in addition to the console to make the
lintFrontend task cacheable in Gradle (according to the output file).
* Make sure frontend task inputs are declared properly for caching.
* Make sure Typescript type checking is incremental.
* Do not use @tsconfig, because both Vite and SonarScanner have problems with
extending tsconfig files from Yarn PnP modules.
|
| |
| |
| |
| |
| |
| | |
Make sure we get slf4j in every test source set and every application by
default. Saves configuration effort when creating a new library that tests
VIATRA or other dependencies that require log4j.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Improves IDE support build scripts in IntelliJ.
There is no Eclipse IDE support, but Eclipse didn't have support for Groovy
either, so there is no degradation of functionality.
|
|/
|
|
|
|
|
|
|
|
| |
* Directly transform VIATRA tuples into Refinery tuples, since creating
the additional wrapper object doesn't save any memory.
* Adds static arity Tuple3 and Tuple4 implementations to be more
aligned with VIATRA internals and save memory for queries with up to
4 parameters.
* Makes sure no new objects are allocated (for varargs handling) when a
static arity tuple is hashed.
|