Fedor Isakov
51baea8b26
Typechecking plugin: drop read action from evaluation step.
2017-10-31 12:33:09 +01:00
Fedor Isakov
3ed8d2e375
Switch to latest release of constraints reactor lib. Update the dependency libs.
2017-10-30 19:51:42 +01:00
Fedor Isakov
c9c8ed39b4
Typechecking templates: Manual migrations and cleanup. Applied the migrations.
2017-10-27 16:30:28 +02:00
Fedor Isakov
7f1e07ebe7
Typesystem2 lang: Switch to using LateExpression for handling Java code in logical clauses; Introduce ExpressionItem, create a migration that replaces LogicalValue with ExpressionItem; Migration to replace LogicalValue; Drop generation of ExpressionSolver.
2017-10-27 16:30:28 +02:00
Fedor Isakov
0ead14f24b
Applied migration in Logic lang.
2017-10-25 16:33:09 +02:00
Fedor Isakov
b3b62d2cca
UI: Fix presentation of terms, values and lists.
2017-10-24 16:05:05 +02:00
Fedor Isakov
090bb22d9e
Typechecking templates: replace ad-hoc list expressions with ListExpression. Use latter instead of TermListExpr.
2017-10-23 13:58:02 +02:00
Fedor Isakov
5a5c7e6b77
Typechecking templates: replace ad-hoc list expressions with ListExpression.
2017-10-23 13:51:22 +02:00
Fedor Isakov
bc3ff79a9c
Migration applied: extract ListRole.
2017-10-23 12:08:50 +02:00
Fedor Isakov
f4a3f1fae5
Logic language runtime: refactor the TreeForm API for cleaner and more readable design, code cleanup, drop obsolete code.
2017-10-23 10:54:30 +02:00
Fedor Isakov
e9a35f4fae
Fix module dependencies
2017-10-23 10:23:12 +02:00
Fedor Isakov
643b5b67b3
Typechecking templates: ensure the term has default values.
2017-10-23 10:22:48 +02:00
Fedor Isakov
7c28db8854
UI: Drop string hacks, drop hardcoded term feature names. Code cleanup.
2017-10-19 17:55:09 +02:00
Fedor Isakov
f72dc69216
Typechecking templates: Drop string hacks in terms. Getting rid of hardcoded term features.
2017-10-19 17:55:08 +02:00
Fedor Isakov
7aef68dfc3
Typesystem2 language refactoring: Delete obsolete unused code. Rename the runtime model (type->macro).
2017-10-18 12:41:49 +02:00
Fedor Isakov
12afe4fa9c
Update the distribution zip file name to correspond to the package version (0.2).
2017-10-16 14:32:46 +02:00
Fedor Isakov
272c83ad3c
Typechecking templates: model updated in respect to the language changes, migration applied.
2017-10-16 13:55:32 +02:00
Fedor Isakov
19af096768
Typesystem2 language: new nomenclature, "Macro Table" instead of "Type Table", call/expand operations instead of newType/asType, specify applicable concept as MacroInputDeclaration's type, replace TypeNodeExpression with MacroInputParameter, migration.
2017-10-16 13:55:32 +02:00
Fedor Isakov
8602a3ba32
Typechecking templates: Structural changes in j.m.l.typeystem2 lang. Getting rid of AnchorUtil usages.
2017-10-16 13:55:27 +02:00
Fedor Isakov
c2b445b8e0
Update samples: raw type.
2017-10-13 11:51:11 +02:00
Fedor Isakov
adbd00aeed
Ensure local typechecking produces same results when running tests.
2017-10-13 11:49:45 +02:00
Fedor Isakov
1a284c9c58
Typechecking templates: Ensure required nodes are specified by the rules. Raw classifier types support.
2017-10-13 11:49:45 +02:00
Fedor Isakov
6d42745a52
Typechecking templates:
...
Reimplement capture constraint, use capture for type inference, introduce captureOf type.
Remove lbound, replace ubound with hasBound.
Fix the classifier type well-formedness check.
Minor fixes.
2017-10-04 15:47:02 +02:00
Fedor Isakov
ce77d05486
Minor fixes in the samples. Make bad samples bad again.
2017-10-04 15:47:02 +02:00
Fedor Isakov
3adfaf1ec2
Fix model read violation by wrapping SearchQuery construction into a read action.
2017-10-01 14:37:33 +02:00
Fedor Isakov
3ce85cac5e
Introduce snapshot history. Activation sink to record all snapshots and allow to refer to snapshot taken at particular instant. This is used in the Store sink in order to correctly represent logical assignments and unions. Snapshot history is reused by the next stage program.
2017-09-26 11:37:35 +02:00
Fedor Isakov
651fb9ac66
Activation trace: emphasise constraint occurrences in the store view relevant to the selected occurrence event.
2017-09-25 11:34:12 +02:00
Fedor Isakov
6f95100696
Standardise term symbol names.
...
Typechecking UI: display variable values in the activation trace view as condensed terms.
2017-09-20 16:23:31 +02:00
Fedor Isakov
975beae9bb
Refactor Show Type action to also display progress.
2017-09-18 13:34:01 +02:00
Fedor Isakov
f0a7ab2317
Make types cache store type models by source root instead of model.
2017-09-15 15:10:55 +02:00
Fedor Isakov
9bc019c58d
Show Node Type action to show single node's type. Minor refactoring in ui plugin.
2017-09-15 14:18:18 +02:00
Fedor Isakov
2b123d9f42
Apply rule templates from all stages in one pass.
...
A heuristic to collect nodes required for local typechecking.
Minor changes in typesystem2 runtime.
2017-09-14 18:54:19 +02:00
Fedor Isakov
bad0e86d85
Test recursive type.
2017-09-13 16:41:56 +02:00
Fedor Isakov
4c8952a09a
Typechecking templates: protect from NPE; guard aganst infinite recursion while constructing terms for recursive type; more primitive subtyping cases.
2017-09-13 16:41:47 +02:00
Fedor Isakov
0ef1798c1a
Fix infinite cycle in Snapshot. Include the exception that caused failure while evaluating rules.
2017-09-13 16:05:07 +02:00
Fedor Isakov
f8c265dcc7
Use PooledThreadExecutor for background scheduling. Ad-hoc support for handling fatal errors during execution, such as StackOverflowError.
2017-09-12 17:11:43 +02:00
Fedor Isakov
b33aa6fd76
Introduce module for type models managed by the types cache.
2017-09-12 13:01:36 +02:00
Fedor Isakov
490abaad0f
Typechecking plugin: ensure the highlighting is part of the reactive scheme. Expose errors during highlighting to the user.
2017-09-11 13:17:34 +02:00
Fedor Isakov
1c2bfc7346
Typechecking templates: add missing support for primitive types; protect rule applications from running into a cycle on recursive types; git rid of cycles in the typechecking.
2017-08-23 14:33:30 +02:00
Fedor Isakov
e9c8897bfa
Refactor out common typechecking actions. An action to mark a single node's type.
2017-08-23 14:33:25 +02:00
Fedor Isakov
59798eba71
Typechecking templates: switch to map instead of "logical substitution" type.
2017-08-22 11:47:35 +02:00
Fedor Isakov
cf3832ef5a
Typechecking templates: extract substitution context parameter. Provisional collecting of dependencies for "local typechecking".
2017-08-22 11:47:35 +02:00
Fedor Isakov
6c56623987
Minor refactoring in CHR program producing code: avoid passing stage as a parameter.
2017-08-22 11:47:35 +02:00
Fedor Isakov
5c442c47b6
Support for launching typechecking on a bunch of nodes without going deep. Implies automatic collection of typechecking dependencies.
2017-08-22 11:47:34 +02:00
Fedor Isakov
78c7f71e9a
Refactoring the code that launches typechecking to better separate concerns.
...
Extract TypeAspectRuntime.
Support building typechecking program for sequence of nodes.
Moving classes/models around to get rid of cyclic deps.
2017-08-16 15:29:23 +02:00
Fedor Isakov
9a9dc9bd08
Refactoring rule application API and generator: consolidate all logic into token, make token a private API, switch to prototype extension of rule templates. Cleaning up the generator.
2017-08-14 13:33:50 +02:00
Fedor Isakov
9e5eb91089
Minor refactoring of rules application logic: extract specific subclasses of NodeWalker for different kinds of walks.
2017-08-08 11:56:19 +02:00
Fedor Isakov
4dd344e533
Fix mark types with trace.
2017-07-31 20:09:22 +02:00
Fedor Isakov
d66b9db100
Use concurrent map for cache holder.
2017-07-31 17:41:35 +02:00
Fedor Isakov
8ecdb38df2
Typechecking schedulers. Using trampoline scheduler when typechecking facade is called from a command. Test type cache update.
2017-07-31 15:47:17 +02:00