From a96a94ede913b87f6e5e7bba79591750268c95e9 Mon Sep 17 00:00:00 2001 From: mryouse Date: Fri, 8 Jul 2022 23:59:01 +0000 Subject: implement parse-neb --- neb/std/repl.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'neb/std') diff --git a/neb/std/repl.py b/neb/std/repl.py index ccd48bd..b888d1a 100644 --- a/neb/std/repl.py +++ b/neb/std/repl.py @@ -1,4 +1,5 @@ -from .. import TypeEnum, Environment, Arg, Builtin, UserFunction, Function, evaluate, InterpretPanic, Callable, Macro +from .. import TypeEnum, Environment, Arg, Builtin, UserFunction, Function, evaluate, InterpretPanic, Callable, Macro, lex, parse +from .core import interpretQuote from ..structs import * REPL = Environment() @@ -34,3 +35,8 @@ def interpretMacros(symbol, args, env, ns): return List(keys) REPL.register("macros", Builtin("macros", interpretMacros, [], return_type=Type(":list"))) + +def interpretParseNeb(symbol, args, env, ns): + return interpretQuote(None, [parse(lex(args[0].value))[0]], env, ns) + +REPL.register("parse-neb", Builtin("parse-neb", interpretParseNeb, [Arg("string", TypeEnum.STRING)], return_type=Type(":any"))) -- cgit v1.2.3