]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/types/Types.java
(refs #7573) Provide typeable with functions with three effects
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / types / Types.java
index 9ea064cfd11bf4abf4094a900a53d9951dc24878..50eec32fe29e9f8c37209f91eba6e2709f88aa59 100644 (file)
@@ -93,6 +93,7 @@ public class Types {
     
     public static final TCon ADDITIVE = con("Prelude", "Additive");
     public static final TCon MONAD = con("Prelude", "Monad");
+    public static final TCon MONAD_E = con("Prelude", "MonadE");
     public static final TCon INTEGRAL = con("Prelude", "Integral");
     public static final TCon RING = con("Prelude", "Ring");
     public static final TCon ORDERED_RING = con("Prelude", "OrderedRing");
@@ -110,6 +111,7 @@ public class Types {
     
     public static final TUnion NO_EFFECTS = new TUnion();
     public static final TCon PROC = con(BUILTIN, "Proc");
+    public static final TCon EXCEPTION = con(BUILTIN, "Exception");
     
     public static final TCon BRANCH_POINT = con(BUILTIN, "BranchPoint");
     
@@ -1048,6 +1050,10 @@ public class Types {
     public static Type union(Type effect1, Type effect2) {
         return new TUnion(effect1, effect2);
     }
+    
+    public static Type union(Type effect1, Type effect2, Type effect3) {
+        return new TUnion(effect1, effect2, effect3);
+    }
 
     public static Type union(List<Type> effects) {
         if(effects.size() == 0)