Fedor Isakov
|
7bcd088a44
|
Typechecking templates: minor refactorings, simplifying the code
|
2015-11-18 12:42:50 +01:00 |
Fedor Isakov
|
f38b7e39a2
|
Typechecking templates: add capture/2 constraint to avoid variables to appear out of inference context. Introduce wildcardType
|
2015-11-17 16:08:12 +01:00 |
Fedor Isakov
|
f35f655199
|
NodePrinter to support array and boolean types
|
2015-11-16 15:57:19 +01:00 |
Fedor Isakov
|
c6f8a43795
|
Enable typechecking of method body. Coerce to reference type for the ClassifierType constructor. Support for boolean and array type.
|
2015-11-15 19:56:39 +01:00 |
Fedor Isakov
|
8fabaa7b1e
|
Auto-magical update after moving to the latest build
|
2015-11-12 15:14:34 +01:00 |
Fedor Isakov
|
8533c77448
|
Better printing of types to match the expected type representation
|
2015-11-12 12:01:20 +01:00 |
Fedor Isakov
|
ff95a22ef3
|
Better constraints printing in external runner
|
2015-11-12 12:01:20 +01:00 |
Fedor Isakov
|
879e3dc2df
|
Fix the atom ground() util method
|
2015-11-12 12:01:20 +01:00 |
Fedor Isakov
|
af48893e4c
|
Change the contract of logical vars's equals() to never consider the value (only the root). Update the tests.
|
2015-11-12 12:01:20 +01:00 |
Fedor Isakov
|
06b1de52f9
|
Get rid of check() constraint, switched to using headless rules to be combined in main()
|
2015-11-12 12:01:20 +01:00 |
Fedor Isakov
|
2166c14df3
|
Introduce per-rule NamingContext for logical variables. Support for launching constraint handler via main() constraint. Minor fixes.
|
2015-11-12 12:01:19 +01:00 |
Fedor Isakov
|
0b239153ff
|
Array type constructor, temporarily supporting the main() constraint with => true body
|
2015-11-10 17:25:25 +01:00 |
Fedor Isakov
|
320e650dd5
|
Support for headless rules: all are collected into "main" rule with head=main()
|
2015-11-10 17:15:32 +01:00 |
Fedor Isakov
|
3779dbed2b
|
Better logging of result/garbage constraints
|
2015-11-10 11:16:40 +01:00 |
Fedor Isakov
|
163f434bf5
|
Unique variable names and type bounds
|
2015-11-10 10:55:14 +01:00 |
Fedor Isakov
|
5a965f549e
|
Fix the logicals equality: unbound logicals are never equal
|
2015-11-10 10:46:52 +01:00 |
Fedor Isakov
|
83c94857ff
|
Subtyping paths to be searched for any type. Can successfully compute LUB(String,NullType) = Object
|
2015-11-09 17:01:27 +01:00 |
Fedor Isakov
|
e1a961e261
|
Use the standard method for getting the extended classifier types
|
2015-11-04 12:03:27 +01:00 |
Fedor Isakov
|
105d9d7024
|
Simplifying templates: get rid of O(n^2) subtyping
|
2015-11-04 11:46:03 +01:00 |
Fedor Isakov
|
bc5cfb182e
|
Fix subtyping algorithm
|
2015-11-04 09:39:07 +01:00 |
Fedor Isakov
|
42705efbd4
|
LubSolver and SubtypePathSolver to fail with an exception. Reverse the subtyping path.
|
2015-11-04 09:38:01 +01:00 |
Fedor Isakov
|
e62fbb49b9
|
Fix the anchor for ClassifierType to include parameters
|
2015-11-04 09:35:26 +01:00 |
Fedor Isakov
|
ca226ac725
|
Testing induction on list role
|
2015-11-03 19:04:41 +01:00 |
Fedor Isakov
|
695e94e9cc
|
Fix the type variable names not displayed
|
2015-11-03 16:04:13 +01:00 |
Fedor Isakov
|
c129f3dcc1
|
Made new subtyping work (somewhat)
|
2015-11-03 11:13:04 +01:00 |
Fedor Isakov
|
bb092306c6
|
Fix the logical variable type
|
2015-11-03 11:11:54 +01:00 |
Fedor Isakov
|
84de3d79bb
|
Fix NodePrinter to correcly process node structure
|
2015-11-03 11:10:57 +01:00 |
Fedor Isakov
|
11bd81a2af
|
Updated the IDEA project
|
2015-11-03 11:09:51 +01:00 |
Fedor Isakov
|
cd1247d874
|
Test runner to expect sample name and ID as program arguments
|
2015-10-30 16:42:57 +01:00 |
Fedor Isakov
|
6bff425cec
|
Updated the IDEA project
|
2015-10-30 16:42:04 +01:00 |
Fedor Isakov
|
4c47777680
|
Exprerimental promote constraint to work with heterogenous subtyping
|
2015-10-30 16:11:35 +01:00 |
Fedor Isakov
|
47142f5196
|
An intention to remove splice
|
2015-10-30 14:39:12 +01:00 |
Fedor Isakov
|
368c743b5a
|
Ensure the iterating templates get proper context
|
2015-10-29 11:12:44 +01:00 |
Fedor Isakov
|
6524579317
|
Correctly process universal (with no input) typechecking templates
|
2015-10-28 14:39:24 +01:00 |
Fedor Isakov
|
3cb088c8b9
|
Fix NodePrinter, test
|
2015-10-28 13:39:44 +01:00 |
Fedor Isakov
|
86fa1cb65a
|
Upgraded to the latest MPS build (to be announced as EAP4)
|
2015-10-28 11:57:07 +01:00 |
Fedor Isakov
|
853b6adeba
|
Refactor the constraint subtypePaths to accept two arguments instead of three
|
2015-10-27 15:54:20 +01:00 |
Fedor Isakov
|
5e4019e7b8
|
Fix the tests for LubSolver
|
2015-10-26 16:05:04 +01:00 |
Fedor Isakov
|
de7b9523eb
|
The algorithm to find the shortest subtyping path from a given type.
|
2015-10-26 12:43:17 +01:00 |
Fedor Isakov
|
0e87430933
|
Rewritten findLub algorithm, testing LUB for heterogenous types
|
2015-10-25 20:03:28 +01:00 |
Fedor Isakov
|
9a4a23ae10
|
Simplifying operations with lists, get rid of list role (replaced with child role + list)
|
2015-10-21 19:08:25 +02:00 |
Fedor Isakov
|
63f5789f7b
|
Get rid of cardinality in role, simplifying code
|
2015-10-21 12:33:23 +02:00 |
Fedor Isakov
|
4136d9ff62
|
Cleaning up the walker interface, appropriate naming for concepts, some tests
|
2015-10-20 17:29:02 +02:00 |
Fedor Isakov
|
d79af1a6f6
|
Add type table and replace all type terms with the ones built from type patterns
|
2015-10-08 11:17:38 +02:00 |
Fedor Isakov
|
52c0cb7309
|
Switch to the latest MPS build
|
2015-10-08 11:17:38 +02:00 |
Fedor Isakov
|
f1ee8ae30c
|
Refactor typechecking templates for ClassCreator and DefaultClassCreator
|
2015-10-05 15:54:00 +02:00 |
Fedor Isakov
|
2df4627b3e
|
Get rid of named tuples as context, replaced with structure. Ensure iterating rule template supports prototype.
|
2015-09-26 13:38:03 +02:00 |
Fedor Isakov
|
8695b3a3cc
|
Updated the templates to use the prototype fragments (MethodCall)
|
2015-09-26 13:37:59 +02:00 |
Fedor Isakov
|
b542b6ce3b
|
Runtime support for prototype template fragments. Minor fixes
|
2015-09-26 13:37:59 +02:00 |
Fedor Isakov
|
8af807b78f
|
Refactoring in typesystem2: merge let value and the logical variables declared as exported into single Context type.
Updated the runtime and the generator to support extending prototype's context.
Some minor fixes in the language.
|
2015-09-23 17:16:36 +02:00 |