static class LHotwire extends LearnerImpl { static boolean cacheSnippets = true; static new (Tree)Map cache; static boolean debug; String programID; Class prog; *(String *programID) {} public void processInOut(Object in, Object out) { } public Object processIn(Object in) { if (prog == null) { prog = cache.get(parseSnippetID(programID)); if (prog == null) { if (debug) debug("Loading " + programID); prog = hotwire(programID); if (cacheSnippets) cache.put(parseSnippetID(programID), prog); } } set(prog, "in", in); call(prog, "main", new Object[] {new String[0]}); in = get(prog, "in"); if (debug) debug(programID + " returned: " + structure(in)); return in; } }