Commit Graph

1565 Commits

Author SHA1 Message Date
Fedor Isakov f6374635bb Rebuild project. 2019-03-22 11:10:08 +01:00
Fedor Isakov 671194c9c3 Switch to the latest EAP of MPS 2019.1. Re-save all models. 2019-03-22 11:09:39 +01:00
Fedor Isakov 41b15f65c4 Replace assert() constraints with fail() together with an error message. 2019-02-18 12:26:05 +01:00
Fedor Isakov adcfba5e9a Introduce two built-in predicates to be used instead of eval(false) etc.: fail and report message (debug/info/warning/error/fatal). 2019-02-18 11:49:11 +01:00
Fedor Isakov 8c25d50ea5 Introduce InvocationParameter to instantiateArguments. 2019-02-17 14:41:36 +01:00
Fedor Isakov b102237bb8 Drop static collection of predicate symbols. Adapt to the latest reactor API. Drop DefaultSessionSolver 2019-02-17 11:39:56 +01:00
Fedor Isakov 3f930ba530 Introduce solver() method to PredicateSymbol.
Drop requirement to provide evaluation session with list of solvers; remove unnecessary configuration step.
Minor refactorings in tests.
2019-02-17 11:39:56 +01:00
Fedor Isakov a97c33a256 Collect all solvers when building a program. These to replace "solver registration" procedure. 2019-02-15 17:47:06 +01:00
Fedor Isakov 9f8539bfd8 Drop unused and long deprecated feature. 2019-02-15 17:46:10 +01:00
Fedor Isakov 5f068c1ac0 Extract stuff related to program producing to separate model. 2019-02-15 17:15:17 +01:00
Fedor Isakov 255b7061f7 Reorganize models/packages, restructure code components responsible for program building/evaluation. 2019-02-15 17:15:17 +01:00
Fedor Isakov 2f8ff698b3 Minor refactorings in program producing code. Consolidating everything related to program producing into a single package. 2019-02-15 17:15:16 +01:00
Fedor Isakov 83e5ce8c26 Switch to the latest conreactor version. 2019-02-15 17:15:16 +01:00
Fedor Isakov dc8638996d Bump up the conreactor version to 0.9.4. 2019-02-15 17:15:16 +01:00
Fedor Isakov c8d7e52b6f Introduce feedback handling API to facilitate processing of messages during program evaluation.
Minor refactorings in conreactor. Drop deprecated stuff. Default implementations for deprecated methods.
2019-02-15 17:15:09 +01:00
grigorii.kirgizov a17d36fe94 Docs: more adjustments according to appearance on html page 2019-02-13 16:20:24 +03:00
grigorii.kirgizov 74be1a3a0c Docs for lambdacalc: add images and slight corrections to text 2019-02-13 16:09:31 +03:00
grigorii.kirgizov 6229f2473e Update lambdacalc example in docs 2019-02-13 15:58:51 +03:00
grigorii.kirgizov e87c9654c1 lc: minor: Fix missed condition in guard on merging type constraints rule. Could have possibly led to bug in somewhere. 2019-02-06 16:00:31 +03:00
Fedor Isakov 0fcff76308 Re-save all models updated resolve info. 2019-02-06 13:22:32 +01:00
Fedor Isakov b42d7553c8 Temporarily comment out an instance of let clause that produces different result in local inference. 2019-02-06 12:59:38 +01:00
Fedor Isakov aa1a29a318 Make all tests in lambdacalc subproject pass including local inference. 2019-02-06 12:58:46 +01:00
Fedor Isakov a240246daa Ensure failures don't stop program evaluation, recover failure always at top level (when processing "main/0" constraint).
Keep track of principal origins to be used as points of failure.
Minor code cleanup/refactoring.
2019-02-06 12:57:47 +01:00
Fedor Isakov 1ad5f22f7b Prevent gradle from creating unnecessary build folders. 2019-02-05 15:36:00 +01:00
grigorii.kirgizov 0cd29c5729 lc: Add type inference dependencies ('require' things) to output the same types for local type inf. Some renames.
Types from local & non-local type inf differ in 2 cases:
- different type variables names
- non-local typecheck fails, but some types still get to output
2019-02-05 13:03:51 +03:00
Fedor Isakov fd94f0a249 Straghten up build tasks: assemble to be the default task. Remove superfluous configure_gradle script, use -P switches instead. 2019-02-04 11:32:13 +01:00
Fedor Isakov 0798f16e0e Add TeamCity build status badge 2019-02-03 23:54:41 +01:00
Fedor Isakov 583bf717e3 Make dependency build number prefixed with MPS as is defined by TC. 2019-02-03 19:34:43 +01:00
Fedor Isakov 270ac30b63 Introduce configure script for gradle properties to be used in CI env. MPS build to be referenced by build number only. 2019-02-03 18:57:41 +01:00
Fedor Isakov 0fb0771ad7 Ensure parent of varRef is included into typechecking. This fixes some locally inferred types mismatch. 2019-02-02 16:11:38 +01:00
Fedor Isakov 6e85a2c4fa Use custom matching strategy in lambdacalc tests. 2019-02-02 16:10:35 +01:00
Fedor Isakov 49a381936d Enable to specify custom matching strategy when asserting that locally inferred types are the same. 2019-02-02 16:09:39 +01:00
Fedor Isakov ebada478c6 Replace error annotation with suppress error annotation to indicate an expected constraint violation. 2019-02-01 14:17:57 +01:00
Fedor Isakov e0b856634c Add java plugin to all gradle scripts. 2019-02-01 14:15:57 +01:00
Fedor Isakov 38777cda51 Ensure failed test means failed build for all sample projects. 2019-02-01 14:15:04 +01:00
Fedor Isakov ebd4f82514 Specify the value for ${project_home} macrii in sample subprojects. Fix tests being ignored in CI. 2019-02-01 12:08:29 +01:00
Fedor Isakov 5b255f2a02 Fix references and introduce languages engaged on generation to keep compat. w/191 EAP. 2019-02-01 11:31:35 +01:00
Fedor Isakov 080bb0a448 Fix gradle scripts to get rid of deprecated stuff. Default task to build everything without testing. Update INSTALL.txt. 2019-02-01 00:40:59 +01:00
Fedor Isakov 92faa816f8 Drop superfluous log statements. 2019-01-31 23:47:11 +01:00
Fedor Isakov bfe2129b42 Upgrade gradle to 4.10.3 2019-01-31 17:39:39 +01:00
Fedor Isakov 81ee94c342 Fix gradle scripts to ensure model checker is run after everything else has heen built. 2019-01-31 17:39:39 +01:00
Fedor Isakov a40e50bc53 Temprorarily suppress errors in two locations due to constraints violation (to be fixed). 2019-01-31 12:05:35 +01:00
Fedor Isakov 767444a5c0 Make LetClause able to suppress errors in its children. 2019-01-31 12:05:35 +01:00
Fedor Isakov 012b8963cb Fix errors found by model checker in lambdacalc sample. 2019-01-31 12:05:21 +01:00
Fedor Isakov 24ac5447b3 Make ErrorAnnotation able to suppress errors. 2019-01-31 11:44:07 +01:00
Fedor Isakov 9243c00c65 Fix issues found by model checker (ex typesystem). 2019-01-31 11:30:02 +01:00
Fedor Isakov dc1965fdc9 Introduce a test for running model checker on all models in the project as a part of CI. 2019-01-31 11:30:02 +01:00
grigorii.kirgizov 8d7bdcf173 lc: minor: Remove unneeded checkConstraints in subsumption
This case is anyhow handled by typeConstraints_discharge rule, when subsumes_leaves fires up,
even before those removed checks repeat this work.
2019-01-28 17:02:55 +03:00
grigorii.kirgizov 172f74b6f8 lc: minor: Add some comments. Some cleanup. 2019-01-28 16:59:05 +03:00
grigorii.kirgizov a2012219b7 lc: Fix spurious typeConstraints reactivation on forall gen. Fix recursive case in instanceCheck.
As a consequence, there's a simplification of produceTypeConstraints rules.
Also add comments and fix some test cases: some of them are actually typeable.
Now tests are correct (checked against Haskell's typechecker) and all pass.
2019-01-28 13:32:32 +03:00