diff --git a/src/main/java/serene/simple/RootScope.java b/src/main/java/serene/simple/RootScope.java index 2a3de03..c26290d 100644 --- a/src/main/java/serene/simple/RootScope.java +++ b/src/main/java/serene/simple/RootScope.java @@ -1,15 +1,15 @@ package serene.simple; import java.util.HashMap; -import java.util.Map; - -import serene.simple.builtin.AFn; import serene.simple.builtin.PrintlnFn; +import serene.simple.builtin.QuitFn; + public class RootScope extends BaseScope { private final BaseScope parent; private final HashMap symbolsMapping = new HashMap() {{ put("println", new PrintlnFn()); + put("quit", new QuitFn()); }}; // "+", PlusFn, // "-", MinusFn, diff --git a/src/main/java/serene/simple/builtin/QuitFn.java b/src/main/java/serene/simple/builtin/QuitFn.java new file mode 100644 index 0000000..fd14154 --- /dev/null +++ b/src/main/java/serene/simple/builtin/QuitFn.java @@ -0,0 +1,15 @@ +package serene.simple.builtin; + +import serene.simple.BaseScope; + + +public class QuitFn extends AFn { + public String fnName() { + return "println"; + }; + + public Object eval(BaseScope scope) { + System.exit(0); + return null; + } +}