Package org.ggp.base.apps.consoles

Source Code of org.ggp.base.apps.consoles.ClojureConsole

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();
        }
    }
}
TOP

Related Classes of org.ggp.base.apps.consoles.ClojureConsole

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.