From 810e1a63de383c991153b286ad677cce161de60e Mon Sep 17 00:00:00 2001 From: David Miller Date: Sun, 31 May 2009 07:37:00 +0000 Subject: ClojureCLR: major update, part2 --- ClojureCLR/Clojure/Clojure.Main/Main.cs | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ClojureCLR/Clojure/Clojure.Main/Main.cs (limited to 'ClojureCLR/Clojure/Clojure.Main/Main.cs') diff --git a/ClojureCLR/Clojure/Clojure.Main/Main.cs b/ClojureCLR/Clojure/Clojure.Main/Main.cs new file mode 100644 index 00000000..e98d9afc --- /dev/null +++ b/ClojureCLR/Clojure/Clojure.Main/Main.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using clojure.lang; + +namespace Clojure +{ + public static class CljMain + { + private static readonly Symbol CLOJURE_MAIN = Symbol.intern("clojure.main"); + private static readonly Var REQUIRE = RT.var("clojure.core", "require"); + private static readonly Var LEGACY_REPL = RT.var("clojure.main", "legacy-repl"); + private static readonly Var LEGACY_SCRIPT = RT.var("clojure.main", "legacy-script"); + private static readonly Var MAIN = RT.var("clojure.main", "main"); + + static void Main(string[] args) + { + REQUIRE.invoke(CLOJURE_MAIN); + MAIN.applyTo(RT.seq(args)); + } + + static void legacy_repl(string[] args) + { + REQUIRE.invoke(CLOJURE_MAIN); + LEGACY_REPL.invoke(RT.seq(args)); + + } + + static void legacy_script(string[] args) + { + REQUIRE.invoke(CLOJURE_MAIN); + LEGACY_SCRIPT.invoke(RT.seq(args)); + } + + + } +} -- cgit v1.2.3-18-g5258