From 9fd33f4864310c017a1013f8d18635c1e784f0ab Mon Sep 17 00:00:00 2001 From: mryouse Date: Fri, 29 Jul 2022 19:56:22 +0000 Subject: have builtins return :nil when appropriate --- neb/std/fs.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'neb/std/fs.py') diff --git a/neb/std/fs.py b/neb/std/fs.py index b49d63c..8500140 100644 --- a/neb/std/fs.py +++ b/neb/std/fs.py @@ -33,9 +33,9 @@ def interpretUnlink(symbol, args, env, ns): if not target_path.exists(): raise InterpretPanic(symbol, "target file does not exist", target_path) target_path.unlink() - return List([]) + return Nil() -unlink_func = Builtin("unlink", interpretUnlink, [Arg("filename", TypeEnum.STRING)], return_type=Type(":list")) +unlink_func = Builtin("unlink", interpretUnlink, [Arg("filename", TypeEnum.STRING)], return_type=Type(":nil")) unlink_multi = MultiFunction("unlink") unlink_multi.register(unlink_func) FS.register("unlink", unlink_multi) @@ -49,9 +49,9 @@ def interpretWrite(symbol, args, env, ns): raise InterpretPanic(symbol, f"{handle} is not writable!") except ValueError: raise InterpretPanic(symbol, f"{handle} is closed") - return List([]) + return Nil() -write_func = Builtin("write", interpretWrite, [Arg("string", TypeEnum.STRING), Arg("handle", TypeEnum.HANDLE)], return_type=TypeEnum.LIST) +write_func = Builtin("write", interpretWrite, [Arg("string", TypeEnum.STRING), Arg("handle", TypeEnum.HANDLE)], return_type=Type(":nil")) write_multi = MultiFunction("write") write_multi.register(write_func) FS.register("write", write_multi) @@ -109,9 +109,9 @@ def interpretClose(symbol, args, env, ns): # (close (print (read (open-read "fil.txt")))) except: raise InterpretPanic(symbol, "cannot close {args[0]}") - return List([]) + return Nil() -close_func = Builtin("close", interpretClose, [Arg("handle", TypeEnum.HANDLE)], return_type=TypeEnum.LIST) +close_func = Builtin("close", interpretClose, [Arg("handle", TypeEnum.HANDLE)], return_type=Type(":nil")) close_multi = MultiFunction("close") close_multi.register(close_func) FS.register("close", close_multi) -- cgit v1.2.3