From 440a2f0cef6b342fa430bd0ca42d1a2ec47324dc Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 18 Sep 2017 13:54:07 -0700 Subject: Added repr to core and made some tweaks. --- core.nom | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'core.nom') diff --git a/core.nom b/core.nom index ced3873..d745fb7 100644 --- a/core.nom +++ b/core.nom @@ -26,7 +26,11 @@ rule ["eval %code", "run %code"]: lua expr "compiler:run(vars.code)" macro "source code %code": - lua expr "compiler.utils.repr(vars.code.src, true)" + lua block ".." + |if vars.code.value.type ~= "Thunk" then + | compiler:error("'source code %' only takes code blocks, not "..vars.code.value.type) + |end + lua expr "compiler.utils.repr(vars.code.value.value.src, true)" rule "run file %filename": lua block ".." @@ -138,6 +142,9 @@ rule "%a == %b": rule "%a != %b": lua expr "((vars.a ~= vars.b) or not compiler.utils.equivalent(vars.a, vars.b))" +macro "repr %obj": + ".."|compiler.utils.repr(\%obj as lua expr\, true) + macro "say %str": ".."|compiler:writeln(compiler.utils.repr(\%str as lua expr\)) -- cgit v1.2.3