use of clojure.lang.IFn in project enumerable by hraberg.
the class JavaScriptTest method interactingWithClojure.
@Test
public void interactingWithClojure() throws Exception {
IFn star = (IFn) ClojureTest.getClojureEngine().eval("*");
FunctionFn2 f = toFunction(LambdaClojure.toFn2(star));
js.put("f", f);
assertEquals(6.0, js.eval("f(2, 3)"));
}
use of clojure.lang.IFn in project storm by nathanmarz.
the class ClojureSpout method open.
@Override
public void open(final Map conf, final TopologyContext context, final SpoutOutputCollector collector) {
IFn hof = Utils.loadClojureFn(_fnSpec.get(0), _fnSpec.get(1));
try {
IFn preparer = (IFn) hof.applyTo(RT.seq(_params));
final Map<Keyword, Object> collectorMap = new PersistentArrayMap(new Object[] { Keyword.intern(Symbol.create("output-collector")), collector, Keyword.intern(Symbol.create("context")), context });
List<Object> args = new ArrayList<Object>() {
{
add(conf);
add(context);
add(collectorMap);
}
};
_spout = (ISpout) preparer.applyTo(RT.seq(args));
//this is kind of unnecessary for clojure
try {
_spout.open(conf, context, collector);
} catch (AbstractMethodError ame) {
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
use of clojure.lang.IFn in project CorfuDB by CorfuDB.
the class ShellMain method main.
public static void main(String[] args) {
IFn require = Clojure.var("clojure.core", "require");
require.invoke(Clojure.read("org.corfudb.shell"));
IFn shell = Clojure.var("org.corfudb.shell", "-main");
shell.invoke(args);
}
Aggregations