diff options
Diffstat (limited to 'neb/__init__.py')
| -rw-r--r-- | neb/__init__.py | 9 |
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) |
