package nl.utwente.viskell.haskell.expr; import nl.utwente.viskell.haskell.type.Type; import nl.utwente.viskell.haskell.type.TypeScope; import nl.utwente.viskell.haskell.type.TypeVar; /* * A Hole represents an yet unknown gap in an Expression or an open input connection */ public class Hole extends Variable { private final TypeVar typevar; public Hole() { super("<<hole>>"); this.typevar = TypeScope.unique("holey"); } @Override public Type inferType() { return typevar; } @Override public String toHaskell() { return "(error \"Open expression\")"; } @Override public String toString() { return "<<hole>>"; } }