.closure(vars));
value.setType(Types.forAll(vars,
Types.constrained(constraints, value.getType())));
+ //System.out.println(value.getName() + " :: " + value.getType());
// Add evidence parameters to recursive calls
for(EPlaceholder ref : recursiveReferences) {
for(EAmbiguous overloaded : context.overloadedExpressions)
overloaded.assertResolved(compilationContext.errorLog);
expression.getType().addPolarity(Polarity.POSITIVE);
+ //System.out.println("--- " + value.getName() + " -------------------------------------------------------------------------");
context.solveSubsumptions(expression.getLocation());
if(compilationContext.errorLog.getErrorCount() != errorCountBeforeTypeChecking) {
}
public void typeCheck() {
- ce = new ConstraintEnvironment(environment);
+ ce = new ConstraintEnvironment(compilationContext);
scheduler = new TypeCheckingScheduler(compilationContext);
typeCheckValues();