aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* build(deps): bump semver from 6.3.0 to 6.3.1dependabot/npm_and_yarn/semver-6.3.1Libravatar dependabot[bot]2023-07-11
| | | | | | | | | | | | | | Bumps [semver](https://github.com/npm/node-semver) from 6.3.0 to 6.3.1. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v6.3.1/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v6.3.0...v6.3.1) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
* Merge pull request #27 from kris7t/ordered-result-setLibravatar Kristóf Marussy2023-06-29
|\ | | | | feat: ordered query ResultSet
| * feat: ordered query ResultSetLibravatar Kristóf Marussy2023-06-29
|/ | | | | | | | | | | | | | 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.
* fix: FilteredView default valueLibravatar Kristóf Marussy2023-06-22
| | | | | The filer can't return true for the default value, because tuples with default value cannot be enumerated.
* refactor: remove RuleLibravatar Kristóf Marussy2023-06-18
| | | | We will need to rework rule execution according to recent Dnf changes.
* chore: .yarnrc.yml licenseLibravatar Kristóf Marussy2023-06-18
|
* Merge pull request #26 from kris7t/query-refactorLibravatar Kristóf Marussy2023-06-18
|\ | | | | Query refactor
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-06-18
| |
| * refactor: prefer Query.of over Dnf.ofLibravatar Kristóf Marussy2023-06-18
| |
| * refactor: clean up Symbol constructorLibravatar Kristóf Marussy2023-06-18
| | | | | | | | Shorthad syntax for the most commonly used symbol types.
| * fix: further Dnf tests and fixesLibravatar Kristóf Marussy2023-06-17
| |
| * refactor(query): structural equality matcherLibravatar Kristóf Marussy2023-06-15
| | | | | | | | | | Add the ability to create assertions without pre-processing Dnf clauses (raw matchin mode). Also fix tests broken by Dnf pre-processing.
| * refactor: simplified Dnf parameter directionsLibravatar Kristóf Marussy2023-05-26
| |
| * feat: count and aggregation literal reductionLibravatar Kristóf Marussy2023-05-03
| |
| * refactor: avoid unnecessary Literal substitutionsLibravatar Kristóf Marussy2023-05-01
| |
| * feat: query parameter binding validationLibravatar Kristóf Marussy2023-05-01
| | | | | | | | | | | | | | * 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
| * fix(web): editor cursor stylingLibravatar Kristóf Marussy2023-04-26
| | | | | | | | | | Temporarily remove custom scrollbar and indentation styling, because they interferred with cursor visibility.
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-04-26
| |
| * build: reduce ESLint performance costLibravatar Kristóf Marussy2023-04-26
| | | | | | | | Disable some rules that we don't use but require repeated file parsing.
| * build: improve Xtext project isolationLibravatar Kristóf Marussy2023-04-26
| | | | | | | | | | | | * 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.
| * build: enable parallel Gradle buildLibravatar Kristóf Marussy2023-04-25
| | | | | | | | | | Also increases timeout in WebSocket integration test to avoid failures due to increased CPU usage during build.
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-04-25
| |
| * refactor: query termsLibravatar Kristóf Marussy2023-04-23
| | | | | | | | | | | | | | * 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.
| * refactor: simplify ModelAdapterLibravatar Kristóf Marussy2023-04-21
| | | | | | | | | | | | | | | | * 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.
| * fix: REAL_SUM input and result typeLibravatar Kristóf Marussy2023-04-21
| |
| * refactor: remove useless DataVariable overloadLibravatar Kristóf Marussy2023-04-21
| |
| * refactor: lambda-based Dnf and Query factoryLibravatar Kristóf Marussy2023-04-21
| | | | | | | | | | | | | | * 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.
| * chore(deps): downgrade to Java 17Libravatar Kristóf Marussy2023-04-15
| | | | | | | | | | | | | | | | | | | | | | 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.
| * refactor: remove virtual thread supportLibravatar Kristóf Marussy2023-04-15
| | | | | | | | | | | | | | | | | | | | | | 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.
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-04-15
| | | | | | | | Also make sure Sonar can process TypeScript files.
| * refactor: rename RelationView to SymbolViewLibravatar Kristóf Marussy2023-04-15
| | | | | | | | | | * Add NodeFunctionView for symbols that hold function-like (single associated object for each key) relations as integer values for performance.
| * build: add workflow for REUSE compliance checkLibravatar Kristóf Marussy2023-04-15
| |
| * chore: add copyright headersLibravatar Kristóf Marussy2023-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * build: organize build scripts into packagesLibravatar Kristóf Marussy2023-04-09
| | | | | | | | | | | | | | 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.
| * build: avoid repeating task names in build scriptsLibravatar Kristóf Marussy2023-04-09
| |
| * chore(web): fix lint errorsLibravatar Kristóf Marussy2023-04-09
| |
| * build: add clobberEclipse taskLibravatar Kristóf Marussy2023-04-09
| | | | | | | | Allows removing Eclipse-specific generated files from the source tree quickly.
| * build: refactor frontend buildLibravatar Kristóf Marussy2023-04-09
| | | | | | | | | | | | | | | | | | * 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.
| * build: always prefer slf4j instead of log4j 1.xLibravatar Kristóf Marussy2023-04-08
| | | | | | | | | | | | 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.
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-04-08
| |
| * build: convert Gradle scripts to KotlinLibravatar Kristóf Marussy2023-04-08
| | | | | | | | | | | | | | 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.
| * refactor: remove TupleLikeLibravatar Kristóf Marussy2023-04-07
|/ | | | | | | | | | * 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.
* Merge pull request #24 from kris7t/partial-interpretationLibravatar Kristóf Marussy2023-03-31
|\ | | | | Changes for supporting partial interpretation
| * build: try to fix secret detection in workflowLibravatar Kristóf Marussy2023-03-31
| |
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-03-31
| |
| * feat: terms and improved query evaluationLibravatar Kristóf Marussy2023-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement data terms for computations in queries. * Function-like queries with computed results. * Improved query evaluation, including positive and negative diagonal cosntraints. * Preliminary local search support. * Changes to the DNF representation for count and aggregation support. feat: terms wip feat: query terms wip feat: query evaluation, diagonal constraints, local search wip fix reasoning compilation wip
| * refactor: use Cursor in query result setsLibravatar Kristóf Marussy2023-03-01
| |
| * refactor: more direct access to VIATRA result setLibravatar Kristóf Marussy2023-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Accessing VIATRA result sets through IQueryResultProvider requires a lot of indirection, allocations, and locking. We use reflection instead to have direct access to the underlying Indexer instead. Unfortunately, projection to arbitrary tuple masks (with wildcard entries in a tuple) is completely broken in VIATRA when RETE update propagation is delayed. While a new, ad-hoc projection indexer gets added to the RETE net immediately, it is not populated with the projection results until updates are flushed in the query engine. Therefore, when encountering an ad-hoc projection for the first time, the projection results will always be empty (thus usually out of date). While declaring the desired projections ahead of time would be a possible solution, for now, we completely remove ad-hoc projection support. If projections are needed on the ModelQuery level, we should create an API for declaring projections for each registered Dnf.
| * chore(deps): bump dependenciesLibravatar Kristóf Marussy2023-02-26
| |
| * refactor: rename PartialInterpretation adapterLibravatar Kristóf Marussy2023-02-25
| |