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
Fedor Isakov
2f4f3dae6f
Minor optimization in smodel types: pull-style constraint
...
Instead of reactively create push-style constraint conceptHierarchy,
make it available on request, pull-style.
2021-04-15 16:56:11 +02:00
Fedor Isakov
ff6b5ec6ae
Apply migrations and rebuild project
2021-04-14 13:19:50 +02:00
Fedor Isakov
6ed5c3329d
Fix typing errors: specify correct type annotations
2021-04-14 11:59:09 +02:00
Fedor Isakov
700a7f56b4
Fix generator types
2021-04-14 10:55:29 +02:00
Fedor Isakov
8dbe0c212d
Fix smodel types
2021-04-14 10:54:10 +02:00
Fedor Isakov
3a70382202
Fix typesystem types: support for meet/join
2021-04-14 10:53:41 +02:00
Fedor Isakov
e76dab0d84
Fix logic and coderules types
2021-04-14 10:53:17 +02:00
Fedor Isakov
93fd42365a
Fix NodeWalker ignoring annotations
2021-04-13 22:57:06 +02:00
Fedor Isakov
4d1511d794
Reactor: drop most of incrementality- and preamble-related stuff
...
Neither incremental evaluation of program or "preamble" features
are useful, but they complicate things and cause major bugs.
2021-04-13 22:57:06 +02:00