aboutsummaryrefslogtreecommitdiff
path: root/neb/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'neb/__init__.py')
-rw-r--r--neb/__init__.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/neb/__init__.py b/neb/__init__.py
index 0757071..735e4db 100644
--- a/neb/__init__.py
+++ b/neb/__init__.py
@@ -186,7 +186,7 @@ class TypeWrap:
# if it's an any type, it's valid
if self.parent is None:
return Bool(True)
- if isinstance(self.is_func, UserFunction):
+ if isinstance(self.is_func, Function):
valid = self.is_func.call(Expr([self.name, target]), env, ns)
else:
valid = self.is_func(self.name, [target], env, ns)
@@ -215,4 +215,9 @@ class NebType(TypeWrap):
pass
class UserType(TypeWrap):
- pass
+
+ def __init__(self, name, parent, is_func):
+ if name in ALL_TYPES:
+ raise NebPanic(f"already a type called {name}")
+ ALL_TYPES[name] = Type(name)
+ super().__init__(name, parent, is_func)