diff --git a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java index ed6702bee..aef441ba2 100644 --- a/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java +++ b/src/de/dhbwstuttgart/typeinference/unify/TypeUnifyTask.java @@ -292,6 +292,12 @@ public class TypeUnifyTask extends RecursiveTask>> { // ReduceTphExt, ReduceTphSup optSet = optSet.isPresent() ? optSet : rules.reduceTphExt(pair); optSet = optSet.isPresent() ? optSet : rules.reduceTphSup(pair); + + + // FunN Rules + optSet = optSet.isPresent() ? optSet : rules.reduceFunN(pair); + optSet = optSet.isPresent() ? optSet : rules.greaterFunN(pair); + optSet = optSet.isPresent() ? optSet : rules.smallerFunN(pair); // One of the rules has been applied if(optSet.isPresent()) { @@ -436,7 +442,11 @@ public class TypeUnifyTask extends RecursiveTask>> { candidateParams.add(fc.grArg(param)); for(TypeParams tp : permuteParams(candidateParams)) + try { thetaQPrimes.add(c.setTypeParams(tp)); + } catch(Exception e) { + System.out.println("f"); + } } for(UnifyType tqp : thetaQPrimes) {