From 810d01108110901a290aa4d4a9cdf96187430d0d Mon Sep 17 00:00:00 2001 From: mryouse Date: Wed, 22 Jun 2022 04:03:13 +0000 Subject: initial commit of user defined types! --- neb/std/types.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'neb/std/types.py') diff --git a/neb/std/types.py b/neb/std/types.py index b5fb993..855a1d9 100644 --- a/neb/std/types.py +++ b/neb/std/types.py @@ -70,14 +70,14 @@ def interpretIsLiteral(symbol, args, env, ns): TYPES.register("literal?", Builtin("literal?", interpretIsLiteral, [Arg("arg", TypeEnum.ANY)])) # add types to env -any_type = NebType(":any", None, interpretIsAny) -literal_type = NebType(":literal", any_type, interpretIsLiteral) -string_type = NebType(":string", literal_type, interpretIsString) -list_type = NebType(":list", any_type, interpretIsList) -bool_type = NebType(":bool", literal_type, interpretIsBool) -number_type = NebType(":number", literal_type, interpretIsNumber) -int_type = NebType(":int", number_type, interpretIsInt) -float_type = NebType(":float", number_type, interpretIsFloat) +any_type = NebType(":any", None, Builtin("any?", interpretIsAny, [Arg("arg", TypeEnum.ANY)])) +literal_type = NebType(":literal", any_type, Builtin("literal?", interpretIsLiteral, [Arg("arg", TypeEnum.ANY)])) +string_type = NebType(":string", literal_type, Builtin("string?", interpretIsString, [Arg("arg", TypeEnum.ANY)])) +list_type = NebType(":list", any_type, Builtin("list?", interpretIsList, [Arg("arg", TypeEnum.ANY)])) +bool_type = NebType(":bool", literal_type, Builtin("bool?", interpretIsBool, [Arg("arg", TypeEnum.ANY)])) +number_type = NebType(":number", literal_type, Builtin("number?", interpretIsNumber, [Arg("arg", TypeEnum.ANY)])) +int_type = NebType(":int", number_type, Builtin("int?", interpretIsInt, [Arg("arg", TypeEnum.ANY)])) +float_type = NebType(":float", number_type, Builtin("float?", interpretIsFloat, [Arg("arg", TypeEnum.ANY)])) TYPES.register(":any", any_type) TYPES.register(":literal", literal_type) -- cgit v1.2.3