diff options
Diffstat (limited to 'neb/std/types.py')
| -rw-r--r-- | neb/std/types.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/neb/std/types.py b/neb/std/types.py index 3cf55ac..ab099e2 100644 --- a/neb/std/types.py +++ b/neb/std/types.py @@ -1,4 +1,4 @@ -from .. import TypeEnum, Environment, Arg, Builtin, evaluate +from .. import TypeEnum, Environment, Arg, Builtin, evaluate, InterpretPanic from ..structs import * TYPES = Environment() @@ -6,33 +6,33 @@ TYPES = Environment() def interpretIsBool(symbol, args, env, ns): return Bool(isinstance(args[0], Bool)) -TYPES.register("bool?", Builtin(interpretIsBool, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("bool?", Builtin("bool?", interpretIsBool, [Arg("arg", TypeEnum.ANY)])) def interpretIsFloat(symbol, args, env, ns): return Bool(isinstance(args[0], Float)) -TYPES.register("float?", Builtin(interpretIsFloat, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("float?", Builtin("float?", interpretIsFloat, [Arg("arg", TypeEnum.ANY)])) def interpretIsNumber(symbol, args, env, ns): ret = isinstance(args[0], Int) or isinstance(args[0], Float) return Bool(ret) -TYPES.register("number?", Builtin(interpretIsNumber, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("number?", Builtin("number?", interpretIsNumber, [Arg("arg", TypeEnum.ANY)])) def interpretIsInt(symbol, args, env, ns): return Bool(isinstance(args[0], Int)) -TYPES.register("int?", Builtin(interpretIsInt, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("int?", Builtin("int?", interpretIsInt, [Arg("arg", TypeEnum.ANY)])) def interpretIsList(symbol, args, env, ns): return Bool(isinstance(args[0], List)) -TYPES.register("list?", Builtin(interpretIsList, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("list?", Builtin("list?", interpretIsList, [Arg("arg", TypeEnum.ANY)])) def interpretIsString(symbol, args, env, ns): return Bool(isinstance(args[0], String)) -TYPES.register("string?", Builtin(interpretIsString, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("string?", Builtin("string?", interpretIsString, [Arg("arg", TypeEnum.ANY)])) def interpretStringToInt(symbol, args, env, ns): try: @@ -41,7 +41,7 @@ def interpretStringToInt(symbol, args, env, ns): except: raise InterpretPanic(symbol, "can't convert to an :int", args[0]) -TYPES.register("string->int", Builtin(interpretStringToInt, [Arg("arg", TypeEnum.STRING)])) +TYPES.register("string->int", Builtin("string->int", interpretStringToInt, [Arg("arg", TypeEnum.STRING)])) def interpretToString(symbol, args, env, ns): item = args[0] @@ -52,9 +52,9 @@ def interpretToString(symbol, args, env, ns): else: return String(f"{item}") -TYPES.register("->string", Builtin(interpretToString, [Arg("arg", TypeEnum.ANY)])) +TYPES.register("->string", Builtin("->string", interpretToString, [Arg("arg", TypeEnum.ANY)])) def interpretTypeOf(symbol, args, env, ns): return Type(f"{args[0].type_}") -TYPES.register("typeof", Builtin(interpretTypeOf, [Arg("candidate", TypeEnum.ANY)])) +TYPES.register("typeof", Builtin("typeof", interpretTypeOf, [Arg("candidate", TypeEnum.ANY)])) |
