From 63edc8e6b6e203f258cd33dc423bba848cb1f02a Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Thu, 12 Mar 2015 15:27:47 +0100 Subject: [PATCH] Fixing processing of constraint parameters: an unbound logical variable produces a local variable, some refactoring --- .../mps/lang/typesystem2/runtime/rule.mps | 180 ++++--- .../mps/lang/typesystem2/runtime/template.mps | 508 +++++++----------- .../models/jetbrains/mps/logic/builtin.mps | 233 +++++++- .../mps/logic/builtin/unification.mps | 42 ++ .../mps/typechecking/handler/producer.mps | 122 ++++- 5 files changed, 691 insertions(+), 394 deletions(-) diff --git a/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/rule.mps b/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/rule.mps index d79c7042..bfb36e7e 100644 --- a/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/rule.mps +++ b/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/rule.mps @@ -2338,35 +2338,59 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + + + + + + + + + + + + + + + + + - - + + @@ -2409,39 +2433,63 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + + + + + + + + + + + + + + + + + + - - - + + + - + @@ -2507,10 +2555,10 @@ - - - - + + + + @@ -2537,38 +2585,32 @@ - - - - - - - - - - - - - - - - - + + + + + + + - - + + + + + + - - - + + + - + diff --git a/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/template.mps b/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/template.mps index 27987fa5..ba9b0251 100644 --- a/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/template.mps +++ b/languages/jetbrains.mps.lang.typesystem2/runtime/models/jetbrains/mps/lang/typesystem2/runtime/template.mps @@ -16,6 +16,7 @@ + @@ -146,9 +147,6 @@ - - - @@ -157,18 +155,19 @@ + + - @@ -186,11 +185,6 @@ - - - - - @@ -416,398 +410,294 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - - - + + + + - + - - - - - + + + + + - - - + + + - - + + - + - - + + + - - + + + + + - - - + + - - - - - - - - - + + - - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - + - - - - - - + + + + + + - - - + + + - - + + - - + + - - - - + + + - + + + + + + - - - + + - - - - - - - - - + + - - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - + + + + + - - + + - - - - - - - - - + + - - - - - - - - - + + + + + + + + + diff --git a/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin.mps b/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin.mps index c8f46a77..64d1231d 100644 --- a/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin.mps +++ b/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin.mps @@ -979,7 +979,7 @@ - + @@ -1011,7 +1011,6 @@ - @@ -1043,7 +1042,38 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1057,8 +1087,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1086,7 +1240,6 @@ - @@ -1116,6 +1269,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1150,7 +1332,7 @@ - + @@ -1175,8 +1357,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin/unification.mps b/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin/unification.mps index 4c5434eb..a6dc2760 100644 --- a/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin/unification.mps +++ b/languages/jetbrains.mps.logic/runtime/models/jetbrains/mps/logic/builtin/unification.mps @@ -3761,6 +3761,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/solutions/jetbrains.mps.typechecking.handling/models/jetbrains/mps/typechecking/handler/producer.mps b/solutions/jetbrains.mps.typechecking.handling/models/jetbrains/mps/typechecking/handler/producer.mps index 0481b6bf..fe72f838 100644 --- a/solutions/jetbrains.mps.typechecking.handling/models/jetbrains/mps/typechecking/handler/producer.mps +++ b/solutions/jetbrains.mps.typechecking.handling/models/jetbrains/mps/typechecking/handler/producer.mps @@ -801,6 +801,11 @@ + + + + + @@ -832,26 +837,125 @@ - - - - - - + + + + + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +