Fedor Isakov
d531c6a5ad
Run Migration Assistant
2023-02-22 13:52:02 +01:00
Fedor Isakov
ad3ea9d63d
Apply all migrations from 2022.2
2022-11-21 11:25:13 +01:00
Fedor Isakov
365883a099
Fix broken representation of terms with specification
2021-10-27 12:03:49 +02:00
Fedor Isakov
cf04a60cc9
Minor improvements in displaying terms and activation trace
2021-10-26 17:46:41 +02:00
Fedor Isakov
2d52921561
Fix and optimize dependencies
2021-09-22 17:08:25 +02:00
Fedor Isakov
17c2c73aeb
Minor code cleanup
2021-09-22 17:08:25 +02:00
Fedor Isakov
4d06adf85b
Rename isAssigned to isNonfree for consistency
2021-07-22 15:46:21 +02:00
Fedor Isakov
4ea1d0cadd
Feature: isGround and isNonground predicates, MPSCR-94
2021-07-22 13:59:19 +02:00
Fedor Isakov
9527a097b8
Migrate to the latest MPS release, apply migrations
2021-06-18 18:41:01 +02:00
Fedor Isakov
c153d605e6
Auto-fix
2021-05-18 12:32:03 +02:00
Fedor Isakov
1925ee9ef6
Auto-corrected
2021-05-13 15:54:43 +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
ff6b5ec6ae
Apply migrations and rebuild project
2021-04-14 13:19:50 +02:00
Fedor Isakov
c37f8f82eb
Minor optimization: rely on variable count when mapping terms
2021-04-12 12:47:43 +02:00
Fedor Isakov
384fc5dce8
Adapt all predicates to try-tell protocol
2021-04-08 12:41:17 +02:00
Fedor Isakov
676645fad2
Refactor DataForm presentation mechanism, drop unused code
...
Rewrite most of DataFormPrinter for simplicity.
Reformat presentation of terms, so that the specification comes at the beginning.
2021-02-04 09:16:10 +01:00
Fedor Isakov
be156a5d31
Throw NPE in case an argument or symbol is null in term
2021-02-04 08:51:00 +01:00
Fedor Isakov
240fed8f63
Drop Finders feature: unused
2021-01-23 16:59:46 +01:00
Fedor Isakov
b3c57465fc
Minor refactoring: extract constants for building terms
2021-01-23 16:59:45 +01:00
Fedor Isakov
52725b4826
Minor refactoring in TermNode: simplify API
2021-01-23 16:59:43 +01:00
Fedor Isakov
62e8e7d013
Switch to MPS 2020.3 release.
2021-01-08 11:00:02 +01:00
Fedor Isakov
517838cbc1
Implement shortcut solution for occurrsCheck.
...
Make use of MutableLogical's feature to track usages count.
A logical with 1 or less usages can't be contained in
another term, so it's safe to skip unification in this case.
2020-07-30 17:14:40 +02:00
Fedor Isakov
29ffc46fa4
Introduce ProvideFeedbackOperation: enable providing feedback from templates.
...
Operations such as 'error' and 'warning' are available on input
node in templates and serve to report issues found during
template application, in contrast with those found during evaluation.
2020-07-13 18:14:12 +02:00
Fedor Isakov
e4347fc092
Refactor DataFormPrinter to use Memoizer, support nested terms.
...
DataFormPrinter is hardcoded to support _term and _subterm
hacks and present the terms in a readable way.
Memoizer is searched for an implementation of
NodePresentable, which helps with visualization of SNode
and SNodeReference.
2020-06-21 23:17:33 +02:00
Fedor Isakov
6f9958e432
Minor optimization in UnificationPredicate. Adapt to DataProvider interface.
2020-06-04 11:44:07 +02:00
Fedor Isakov
14780b5561
Apply automatic migrations.
2020-05-09 15:04:25 +02:00
Fedor Isakov
9b8a560edc
Simplify generator template for Splice, rely on java method overloading.
...
LogicalUtil defines a bunch of overloaded methods that help dispatch
data form construction based on runtime class of logical variable.
This eliminates the need to use coerce in generator template.
2020-04-15 10:40:59 +02:00
Fedor Isakov
1109471f9a
Replace usages of MultiMetaLogical with MetaLogicalArray.
...
The new class MetaLogicalArray does not inherit from MetaLogical,
which should help catch subtle bugs related to errors in
generator code.
2020-04-13 17:58:33 +02:00
Fedor Isakov
b3d71ad13d
Drop unused method from ListNode, simplify dataform-logical bridging.
2020-04-13 17:58:33 +02:00
Fedor Isakov
021853b996
Documenting LogicalUtil, minor refactorings.
...
MetaLogical are accessed through MetaLogicalFactory in generated code.
2020-04-13 17:58:33 +02:00
Grigorii Kirgizov
831871a81b
minor refactor: drop few usages of LogicalDataForm.logical() which were used for checking equality, use appropriate .symbol() instead
2020-03-06 14:04:18 +03:00
Grigorii Kirgizov
7f840e2899
Refactor: drop deprecated Path class and DataForm.attached() method operating on it
2020-03-06 14:04:18 +03:00
Grigorii Kirgizov
92f95674b3
Refactor: drop meaningless DataForm.asRoot (used symbolPath which is deprecated)
2020-03-06 14:04:18 +03:00
Fedor Isakov
8ec26b4e94
Support node<> argument in constraints. Prepare to get rid of node-ptr<>. Minor refactoring.
2020-02-20 11:59:28 +01:00
Fedor Isakov
391c9053b5
Apply migrations after switch to MPS 193. Regenerate project.
2020-02-03 11:24:22 +01:00
Grigorii Kirgizov
894c727e70
Fix minor bug concerned with CopyUtil
...
CopyUtil didn't correctly map logicals nested inside DataForms which are bound to Logicals.
That's because CopyUtil relies on DataForm:variablesCount() and
LogicalDataForm:variablesCount didn't consider the case when bound value is itself DataForm.
2019-12-18 21:47:06 +03:00
Grigorii Kirgizov
0e33bffa96
Handle additional case of constructing ListNodeCons
2019-10-26 16:17:37 +03:00
Fedor Isakov
1cbd5defff
Drop PrintDelegate stack, avoid memory leaks.
2019-09-13 13:44:23 +02:00
Grigorii Kirgizov
135724a481
Fix use case of list matching with any list
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
cfe0b1b648
Add ListNodeCons DataForm: another constructor for ListNode similar to Haskell's `head:tail` constructor
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
6a02be6f6e
Avoid nested empty lists in mapped ListNode.Alias. Fix capture in lcta helper for lub. Add test for lub.
...
The problem with empty lists showed up at least in printing lists.
2019-09-11 13:24:02 +03:00
Grigorii Kirgizov
e2e531f13c
Add few utilities and extend logic of subtypePaths for LUB impl
...
subtypePaths constraint now has an extended version subtypePathsRaw that returns
extended 'classifierType' dataforms with type parameters (no only classifiers).
2019-09-11 13:24:01 +03:00
Fedor Isakov
1636f18f73
Support navigating to rule from editor. Drop implementations of Reporting.report.
2019-09-04 16:53:03 +02:00
Fedor Isakov
77be3869a4
Introduce target specification to provide feedback constraint.
...
One should be able to report issues with a target.
The target is normally inferred from the rule's origin, but sometimes it is
necessary to specify the issue's target explicitly.
2019-09-02 17:55:46 +02:00
Fedor Isakov
41c4c7e0a3
Fix provide feedback predicate to use the updated API.
2019-09-02 17:55:46 +02:00
Fedor Isakov
1e3917e787
Make dataform printer reusable.
2019-08-12 16:45:00 +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