Fedor Isakov
391c9053b5
Apply migrations after switch to MPS 193. Regenerate project.
2020-02-03 11:24:22 +01:00
Fedor Isakov
69bc34e8f9
Drop language j.m.l.smodel.types containing SNodeTypeOp that is no longer used.
2019-11-11 14:37:41 +01:00
Fedor Isakov
96f45c6e37
Drop commented out code.
2019-11-11 12:20:12 +01:00
Fedor Isakov
3f1b65ada2
Fix the structural errors introduced by a badly run migration.
2019-11-06 12:05:18 +01:00
Fedor Isakov
ad90a4cb77
Apply migration that replaces all instances of NodeAnchor with .pointer op.
2019-11-06 11:21:57 +01:00
Fedor Isakov
3092fa3635
Fix all templates with broken scopes for logical variables.
2019-10-25 22:45:55 +02:00
Fedor Isakov
f8dcf127db
Extend typechecking query TYPECHECK with a parameter to report types.
...
Reporting of calculated types is to be more explicit.
The not-so-obvious _type_.set() operation is to be phased out.
2019-10-10 17:30:11 +02:00
Grigorii Kirgizov
cdfe1f2c0c
Update language version after migrations from mps.logic lang
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
9a782fc619
Run 'list literal -> cons list constructor' migration on samples
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
39fa007310
Run Splice migration on samples
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
618524bdff
Fix Forall term in lambdacalc with recent changes
2019-09-11 13:24:01 +03:00
Fedor Isakov
5eed118be0
Replace usages of deprecated reporting with error constraint.
...
Having to specify the target for reported messages is a redundancy.
It's better to rely on the built-in feedback mechanism and handle the
messages at the supervisor level.
2019-09-02 17:55:46 +02:00
Fedor Isakov
d786ff43b9
Re-save all models, language name updated in .mpl files.
2019-08-20 23:11:19 +02:00
Fedor Isakov
3a48c47880
Migration: "update versions in descriptors".
2019-07-30 11:49:26 +02:00
Fedor Isakov
66c9222a95
Run migrations with MPS 2019.2 EAP3.
2019-07-26 17:27:18 +02:00
Fedor Isakov
79b08c6f83
Revert "Apply migrations from EAP3 and rebuild project."
...
This reverts commit 9c5bf858c3 .
2019-07-26 15:30:30 +02:00
Fedor Isakov
9c5bf858c3
Apply migrations from EAP3 and rebuild project.
2019-07-19 12:28:27 +02:00
Fedor Isakov
cd37daaa07
Apply migrations after switching to the latest EAP build of MPS.
2019-06-07 09:16:21 +02:00
Fedor Isakov
17ed4642ae
Apply all available automatic migrations.
2019-06-05 16:16:00 +02:00
Fedor Isakov
57de11c3fe
Rename all modules/models having prefix j.m.typechecking to j.m.coderules.typechecking. The former is reserved.
2019-06-05 16:15:59 +02:00
Fedor Isakov
bd1c56d9d0
Rename concept Handler -> RulesList
2019-05-09 17:30:14 +02:00
Fedor Isakov
ed6f7a07c2
Remove instances of obsolete concept containingLink, replace with link.
2019-04-24 22:14:24 +02:00
Fedor Isakov
ab006cc8d9
Fix missing dependency.
2019-04-10 09:45:47 +02:00
Fedor Isakov
396b1fdad3
Move all classes from j.m.typechecking to j.m.typechecking.service. This package name is reserved.
2019-03-22 11:40:32 +01:00
Fedor Isakov
255b7061f7
Reorganize models/packages, restructure code components responsible for program building/evaluation.
2019-02-15 17:15:17 +01: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
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
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
767444a5c0
Make LetClause able to suppress errors in its children.
2019-01-31 12:05:35 +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
grigorii.kirgizov
0a5a7ec3c6
lc: minor: in 'typeclasses' restructure rule for Typeclass, add few comments, add Doc for failing type output (TypeclassesTest)
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
41e8d3d96e
lc: Fix forgotten typeOf rule for 'fix' operator. Add typeclasses tests to test suite.
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
2a44bb0ef0
lc: Fix absence of type output in some cases -- match in `produceTypeConstraints` rule in a different way
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
d364dc24e4
lc: add type output (with a workaround) for Constraints in 'recover'
...
Workaround: ConstraintRepr SNode is added specifically for outputting types.
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
4044b7f5e8
lc: Split typeConstraints constraint to two, according to its 2 types of usages: as typevar def and as actual Constraints
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
ecc6c4aed2
lc: Add Constraint check for unified terms. Few fixes for typeclasses. Add typecheck deps for typeclasses. Some tests.
...
Some Constraints checks are not covered by 'subsumed', so, need top rule for discharging those.
Fix Constraint set production in 'types', use new set for each type var. Fix 'instance' constraint.
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
20c9e0aae8
lc: add initial version of Constraints check rules, part of subsumption. Add partial recover rules. Other minor changes.
...
Also a fix to typeOf_PrototypeImpl rule, and a fix to instTypeVars: needed to copy Constraint sets.
2019-01-28 11:38:33 +03:00
grigorii.kirgizov
5d5a102661
lc: minor: move Cons-list utils to its own handler
2019-01-16 18:19:11 +03:00
grigorii.kirgizov
87cdde5309
lc: 2 fixes for previous commit: walkaround in rules with 'deep' pattern-matching in heads; produce empty typeConstraints on user annos (in types)
2019-01-16 18:16:11 +03:00
grigorii.kirgizov
06623693bf
lc: add rules for Proto & ProtoImpl; modify inst and gen for Constraints in forall; move typeConstraints rule
...
Rule for PrototypeImpl is the heaviest.
Also, it seems that constraint field in Forall DataForm isn't needed.
2019-01-16 17:48:34 +03:00
grigorii.kirgizov
bd8e0ab00c
lc: add handling of Typeclass and Instance clauses, add macro for Constraint collection, add Set for this
2019-01-16 13:27:56 +03:00
grigorii.kirgizov
b0e5edb03a
lc: remove getType rule and translate type annotations to dataforms in macro; also minor changes
2019-01-16 11:48:09 +03:00
grigorii.kirgizov
94659549bc
lc: fix failing test: fix usages of eq rule in subsumption
2019-01-16 11:14:41 +03:00
Fedor Isakov
dce532c5c7
Apply automatic migrations in lambdalc project
2019-01-13 17:53:01 +01:00
grigorii.kirgizov
c8233c24d7
lc: move to fully nameless representation of type vars; assign names only in recover
...
It is also a necessary step to bidirectional typechecking and can simplify things in other places
2019-01-11 19:09:44 +03:00
grigorii.kirgizov
eb80329a54
lc: change recover_varRef rule, propagate to recover_Var rule instead of duplicating it
2019-01-11 19:09:44 +03:00
grigorii.kirgizov
fb4fe40973
lc: typeclasses: added structure, editor, constraints (mainly concerned with scoping) aspects
2019-01-11 19:09:44 +03:00