Value extends Expression { @Override public final String toHaskell() { return "(" + this.value + ")"; } Value(final Type type, final String value); @Override final Type inferType(); final String getValue(); @Override final String toHaskell(); @Override final String toString();  }
@Test public final void testToHaskell() throws HaskellException { final Expression v = new Value(this.integer, "10"); assertEquals(this.integer.prettyPrint(), v.inferType().prettyPrint()); assertEquals("(10)", v.toHaskell()); }