GhciSession extends AbstractExecutionThreadService { public ListenableFuture<String> push(final String name, final Expression func) { String let = String.format("let %s = %s", name, func.toHaskell()); return pullRaw(let); } GhciSession(); ListenableFuture<String> push(final String name, final Expression func); ListenableFuture<String> pull(final Expression expr); ListenableFuture<String> pullRaw(final String expr); Type pullType(final String expr, Environment env); String toString(); @Override void shutDown(); @Override void startUp(); static Backend pickBackend(); static List<Backend> getBackends(); static HaskellCatalog getHaskellCatalog(); HaskellCatalog getCatalog(); List<String> getErrors();  }
@Test public void constFunPush() throws HaskellException { this.ghci.push("my_pi", this.pi); Assert.assertEquals("(3.14)", this.pi.toHaskell()); }