org.ggp.base.apps.consoles.ClojureConsole Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alloy-ggp-base Show documentation
Show all versions of alloy-ggp-base Show documentation
A modified version of the GGP-Base library for Alloy.
The newest version!
package org.ggp.base.apps.consoles;
import clojure.lang.RT;
import clojure.lang.Symbol;
import clojure.lang.Var;
/**
* ClojureConsole is a Clojure-based app that lets you interact with a Clojure
* console that has full access to all of the Java classes in the project.
* This allows you to quickly experiment with the classes, without having to
* write a full-blown Java program.
*
* TODO: This could use some helper scripts, to allow it to quickly load game
* rulesheets and so on. Right now you have to manually load everything
* when you want to create a state machine that's initialized to a game,
* which is pretty bothersome.
*
* @author Sam
*/
public class ClojureConsole {
public static void main(String[] args) {
Symbol CLOJURE_MAIN = Symbol.intern("clojure.main");
Var REQUIRE = RT.var("clojure.core", "require");
Var MAIN = RT.var("clojure.main", "main");
try {
REQUIRE.invoke(CLOJURE_MAIN);
MAIN.applyTo(RT.seq(new String[]{}));
} catch(Exception e) {
e.printStackTrace();
}
}
}