Fedor Isakov
ea6e930954
Apply migration and rebuild project
2021-05-04 18:24:29 +02:00
Fedor Isakov
a9fc3db841
Migrate to TermFeatureOverrid to LogicalItem
...
Deprecate TFO.getter
Disable entering LogicalItemExpression
2021-05-04 18:24:29 +02:00
Fedor Isakov
81d025298c
Update build script and rebuild
2021-05-04 11:07:14 +02:00
Fedor Isakov
16e0fdf9dd
Reactor: fix wrong match on reactivation in propagation rule
...
A propagaition rule must ignore reactivated occurrence.
Although it is possible that other occurrences are waiting,
and they can be erroneously selected if precautions are not taken.
2021-05-04 11:07:14 +02:00
Fedor Isakov
5e4dfb249e
Add tests for type variables inference
2021-05-03 13:29:13 +02:00
Fedor Isakov
0194dcdfcc
Fix closure test failing after recent changes
2021-05-03 13:14:11 +02:00
Fedor Isakov
47e6e07039
Refactor processing of inference variables
...
Introduce hasTarget and resolveVar constraints for delayed resolving
of inference variables. In invocation context variables are not
inferred eagerly, but wait for the end of all conversions, and then
resolved via resolveVar.
2021-05-03 13:14:11 +02:00
Fedor Isakov
e488399229
Minor refactoring in collections types
2021-05-03 13:14:11 +02:00
Fedor Isakov
998fa3b925
Fix BL types: make capture processing generic, couple of minor fixes
2021-05-03 13:14:11 +02:00
Fedor Isakov
ae63863299
Minor code fix to ensure typechecking
2021-04-29 14:53:19 +02:00
Fedor Isakov
6a3834d91d
Drop instances of a deprecated concept
2021-04-29 14:53:19 +02:00
Fedor Isakov
7cef550a08
Fix logic and coderules types: logical and termlist conversions to classfier
2021-04-29 14:53:19 +02:00
Fedor Isakov
d407eb2676
Fix sequence types: support covariance with upper bound type
2021-04-29 14:53:19 +02:00
Fedor Isakov
287c31c9f7
Process only pattern's top-level node when coercing
...
Ignore all contents of a pattern but the top level.
This covers most situations.
The pattern ought to provide information as to which
nodes are capturing variables.
2021-04-29 14:53:19 +02:00
Fedor Isakov
8df5c22c8b
Fix pattern terms used in typeOf: always specify concept
...
For SModel types that reference AbstractConceptDeclaration
a type term created without specifying the reference
automatically becomes a pattern.
A pattern can't be used in typeOf, so the default
concept (BaseConcept) is provided explicitly.
This may be later refactored into a default value in the term
table.
2021-04-29 14:53:19 +02:00
Fedor Isakov
d45ef7815a
Fix BL types: avoid failing on incomplete source data
2021-04-29 14:53:19 +02:00
Fedor Isakov
1c82991112
Ensure classifier type is created as pattern where applicable
...
List features in a term are by defualt created as empty list.
When a pattern is required, one must provide explicitly a
wildcard variable to capture either NIL or CONS list term.
2021-04-28 08:55:00 +02:00
Fedor Isakov
2f25f5566b
Fix coderules types: avoid failing on incomplete source
2021-04-28 08:55:00 +02:00
Fedor Isakov
c893d3280e
Fix collection types: support DowncastExpression
2021-04-28 08:55:00 +02:00
Fedor Isakov
cf386d848c
Fix smodel types: make gendecl processed correctly, generify dpromote
2021-04-28 08:55:00 +02:00
Fedor Isakov
0eb826d00e
Minor fix: typesystem types
2021-04-28 08:55:00 +02:00
Fedor Isakov
da11b2cc76
Fix smodel types: enable capturing patterns for coerce, minor fix
2021-04-28 08:55:00 +02:00
Fedor Isakov
2d98b4cf67
Fix types for j.m.l.behavior -- rename sidekick language
2021-04-28 08:55:00 +02:00
Fedor Isakov
abed4bd3e1
Avoid failing on an error in template application, allow recover
2021-04-28 08:54:25 +02:00
Fedor Isakov
fa795caedc
Fix smodel types: correctly process lub type, other minor stuff
2021-04-28 08:54:25 +02:00
Fedor Isakov
c6c9a6e281
BL types: drop boxing/unboxing for strong converts/coerce queries
2021-04-28 08:54:25 +02:00
Fedor Isakov
ab87c8a129
Support strong convert/coerce queries
2021-04-28 08:54:25 +02:00
Fedor Isakov
870966bd70
Types for j.m.lang.script language
2021-04-28 08:54:25 +02:00
Fedor Isakov
cce261ec8c
Fix cleaning up the caches on modules reload
2021-04-28 08:54:25 +02:00
Fedor Isakov
a9db172297
Smodel types: conversion for concept and conceptNode types
2021-04-28 08:54:25 +02:00
Fedor Isakov
fceef17a64
Fix typechecking errors
2021-04-28 08:54:25 +02:00
Fedor Isakov
7d0e765381
Fix coderules types
...
Require statement accepts node-ptr
Fix coderules types: fix logical type in LateParameter
2021-04-28 08:54:25 +02:00
Fedor Isakov
118602b2fd
Fix BL types: classifier type with other types as parameters
...
Also fix code constructs that caused typechecking errors.
2021-04-28 08:54:25 +02:00
Fedor Isakov
5dd55a4dae
Ignore error messages in test
2021-04-28 08:54:25 +02:00
Fedor Isakov
450f2e5989
Fix coerce to pattern with antiquotations.
...
A node from a pattern with antiquotations is treated as a "hollow"
type with only the form defined, and all parameters being capturing
variables.
This is a workaround for certain kinds of coerce queries that define
unsound pattern nodes.
2021-04-28 08:54:25 +02:00
Fedor Isakov
c0154026ef
WIP Fix smodel types: reflective conversion
2021-04-28 08:54:25 +02:00
Fedor Isakov
a204df222a
Optimize BL types and queries
...
Make expectType optional (auxiliary).
Drop checkDecls from typeof query (unnecessary).
2021-04-28 08:54:25 +02:00
Fedor Isakov
dbbb37384f
Fix and optimizate ClassicTermTrie
...
Implement cleanup on removing value.
2021-04-28 08:54:25 +02:00
Fedor Isakov
6088ac0085
Fix displaying of logical value variables in activation trace
...
Unassigned variables to be displayed as X?,
assigned to print their contents..
2021-04-28 08:54:24 +02:00
Fedor Isakov
d918fa5c12
Optimize BL types
...
Switch to pull style boundOf instead of typeVarBound.
Drop importDecls.
2021-04-21 10:45:09 +02:00
Fedor Isakov
cff18e7ca5
Optimize RulePlanHandler
...
Avoid iterating over LinkedHashMap (ineffective).
Do topo-sort only once on creating the object.
2021-04-21 10:40:51 +02:00
Fedor Isakov
bf7939b350
Fix logic types: check for null reference
2021-04-19 22:55:09 +02:00
Fedor Isakov
fb27a6aa14
Drop unused model import
2021-04-19 22:55:09 +02:00
Fedor Isakov
394cb720c1
Optimize program producing: drop checking of constraints
...
Constraints arity is no longer checked.
Checking for null arguments to constraints is done
in AbstractConstraint's constructor.
2021-04-19 22:55:09 +02:00
Fedor Isakov
a812e2a9bb
Make InvalidConstraintException a RuntimeException
2021-04-19 22:55:09 +02:00
Fedor Isakov
7722327958
Reactor: fix session token not being used
2021-04-19 22:46:45 +02:00
Fedor Isakov
19da8e26eb
Reactor: optimize Dispatcher
...
Switch to lazy initialization of RuleMatcher and RuleMatchingProbe.
2021-04-19 22:41:56 +02:00
Fedor Isakov
205c01ae45
Reactor: optimize and cleanup ClassicTermTrie
...
Also drop obsolete implementation of TermTrie.
2021-04-19 22:37:23 +02:00
Fedor Isakov
96ac2b3160
Reactor: optimize and fix RuleIndex
...
Implement missing method ArgumentRuleIndex.clear().
General code cleanup and optimization.
2021-04-19 10:27:24 +02:00
Fedor Isakov
09149fd688
Types for j.m.l.smodel.query lang
2021-04-15 18:06:07 +02:00