diff options
Diffstat (limited to 'neb/std/core.py')
| -rw-r--r-- | neb/std/core.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/neb/std/core.py b/neb/std/core.py index d9f512e..1c3c4b4 100644 --- a/neb/std/core.py +++ b/neb/std/core.py @@ -30,7 +30,7 @@ def interpretDef(symbol, args, env, ns): def_name_arg = Arg("name", TypeEnum.ANY, lazy=True) def_val_arg = Arg("value", TypeEnum.ANY) -CORE.register("def", Builtin("def", interpretDef, [def_name_arg, def_val_arg])) +CORE.register("def", Builtin("def", interpretDef, [def_name_arg, def_val_arg], return_type=Type(":list"))) def interpretRedef(symbol, args, env, ns): if not isinstance(args[0], Symbol): @@ -42,7 +42,7 @@ def interpretRedef(symbol, args, env, ns): env.reregister(name, args[1]) return List([]) -CORE.register("redef", Builtin("redef", interpretRedef, [def_name_arg, def_val_arg])) +CORE.register("redef", Builtin("redef", interpretRedef, [def_name_arg, def_val_arg], return_type=Type(":list"))) def interpretLambda(symbol, args, env, ns): new_args = args @@ -121,7 +121,7 @@ def interpretFunc(symbol, args, env, ns): env.register(name, func) return List([]) -CORE.register("func", Builtin("func", interpretFunc, [def_name_arg, lambda_args_arg, lambda_body_arg], lambda_body_arg)) +CORE.register("func", Builtin("func", interpretFunc, [def_name_arg, lambda_args_arg, lambda_body_arg], lambda_body_arg, Type(":list"))) def interpretBlock(symbol, args, env, ns): ret = List([]) @@ -157,14 +157,14 @@ def interpretUse(symbol, args, env, ns): interpret(parse(lex(data)), env, ns) return List([]) -CORE.register("use", Builtin("use", interpretUse, [Arg("filename", TypeEnum.STRING)])) +CORE.register("use", Builtin("use", interpretUse, [Arg("filename", TypeEnum.STRING)], return_type=Type(":list"))) def interpretAssert(symbol, args, env, ns): if args[0].value != True: raise InterpretPanic(symbol, "assertion failed") return List([]) -CORE.register("assert", Builtin("assert", interpretAssert, [Arg("cond", TypeEnum.BOOL)])) +CORE.register("assert", Builtin("assert", interpretAssert, [Arg("cond", TypeEnum.BOOL)], return_type=Type(":list"))) def interpretUseAs(symbol, args, env, ns): target_file_name = args[0].value @@ -176,7 +176,7 @@ def interpretUseAs(symbol, args, env, ns): interpret(parse(lex(data)), env, args[1].name) return List([]) -CORE.register("use-as", Builtin("use-as", interpretUseAs, [Arg("filename", TypeEnum.STRING), Arg("namespace", TypeEnum.ANY, lazy=True)])) +CORE.register("use-as", Builtin("use-as", interpretUseAs, [Arg("filename", TypeEnum.STRING), Arg("namespace", TypeEnum.ANY, lazy=True)], return_type=Type(":list"))) def interpretQuote(symbol, args, env, ns): return args[0] @@ -218,4 +218,3 @@ type_parent_arg = Arg("name", TypeEnum.ANY) type_func_arg = Arg("func", TypeEnum.ANY) CORE.register("type", Builtin("type", interpretType, [type_name_arg, type_parent_arg, type_func_arg])) - |
