From cb2d735528f919cb57a94eb197da9f6f837ea984 Mon Sep 17 00:00:00 2001 From: Fedor Isakov Date: Thu, 30 Mar 2017 13:53:34 +0200 Subject: [PATCH] Introduce Forall type. Refactor the typesystem to support forall/gen/inst, get rid of varname for every type var. Better editor. --- .../sample.fooblin/models/behavior.mps | 56 +- .../sample.fooblin/models/editor.mps | 27 +- .../sample.fooblin/models/structure.mps | 13 + .../languages/sample.fooblin/models/types.mps | 1881 ++++++++++++----- 4 files changed, 1460 insertions(+), 517 deletions(-) diff --git a/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps b/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps index 277220ce..f0c5da27 100644 --- a/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps +++ b/samples/lambdacalc/languages/sample.fooblin/models/behavior.mps @@ -213,21 +213,11 @@ - - - - - - - - - - - - - - - + + + + + @@ -235,5 +225,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/editor.mps b/samples/lambdacalc/languages/sample.fooblin/models/editor.mps index 3f0da4f0..fcac7c0d 100644 --- a/samples/lambdacalc/languages/sample.fooblin/models/editor.mps +++ b/samples/lambdacalc/languages/sample.fooblin/models/editor.mps @@ -303,7 +303,7 @@ - + @@ -411,7 +411,7 @@ - + @@ -423,7 +423,7 @@ - + @@ -590,7 +590,7 @@ - + @@ -754,15 +754,9 @@ - - - - - - @@ -782,5 +776,18 @@ + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/structure.mps b/samples/lambdacalc/languages/sample.fooblin/models/structure.mps index 7f9b4b74..c2916eb5 100644 --- a/samples/lambdacalc/languages/sample.fooblin/models/structure.mps +++ b/samples/lambdacalc/languages/sample.fooblin/models/structure.mps @@ -315,5 +315,18 @@ + + + + + + + + + + + + + diff --git a/samples/lambdacalc/languages/sample.fooblin/models/types.mps b/samples/lambdacalc/languages/sample.fooblin/models/types.mps index 4bd64c9b..c8122412 100644 --- a/samples/lambdacalc/languages/sample.fooblin/models/types.mps +++ b/samples/lambdacalc/languages/sample.fooblin/models/types.mps @@ -21,6 +21,7 @@ + @@ -101,10 +102,14 @@ - + + + + + @@ -183,6 +188,7 @@ + @@ -311,16 +317,25 @@ + + + + + + + + + @@ -427,6 +442,7 @@ + @@ -460,6 +476,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -494,34 +530,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -616,6 +624,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -702,7 +736,7 @@ - + @@ -720,8 +754,13 @@ - - + + + + + + + @@ -729,72 +768,214 @@ - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + - - + + - - - - - - - - - - - - - + + @@ -807,147 +988,12 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -1011,7 +1057,7 @@ - + @@ -1038,7 +1084,7 @@ - + @@ -1059,7 +1105,7 @@ - + @@ -1137,41 +1183,30 @@ + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - + + - - + + @@ -1207,13 +1242,24 @@ + + + + + + + + + + + - - + + @@ -1285,150 +1331,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1437,6 +1339,24 @@ + + + + + + + + + + + + + + + + + + @@ -1454,13 +1374,13 @@ - + - + - + @@ -1816,6 +1736,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2411,97 +2389,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3171,7 +3058,7 @@ - + @@ -3183,6 +3070,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3453,9 +3447,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3464,12 +3575,13 @@ - - - + + + + @@ -3514,7 +3626,7 @@ - + @@ -3760,6 +3872,7 @@ + @@ -3790,6 +3903,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3849,7 +4117,636 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +