aboutsummaryrefslogtreecommitdiff
path: root/typeclass.py
diff options
context:
space:
mode:
authormryouse2022-06-18 02:45:04 +0000
committermryouse2022-06-18 02:45:04 +0000
commitd1a1c1592e610526c4a0432f93bd9ea6ae96d6e8 (patch)
treedf4c78f3ce5dfb1369d5fc6c155ca43e8bfc729f /typeclass.py
parent065d138ca3013a4d1ef1aa3d7c48982d8bee5de2 (diff)
refactor: make neb a module
Diffstat (limited to 'typeclass.py')
-rw-r--r--typeclass.py34
1 files changed, 0 insertions, 34 deletions
diff --git a/typeclass.py b/typeclass.py
deleted file mode 100644
index eae412c..0000000
--- a/typeclass.py
+++ /dev/null
@@ -1,34 +0,0 @@
-from enum import Enum, auto
-
-class TypeEnum(Enum):
- ANY = auto()
- STRING = auto()
- INT = auto()
- FLOAT = auto()
- NUMBER = auto()
- LIST = auto()
- LITERAL = auto()
- BOOL = auto()
-
- def __str__(self):
- return f":{self.name.lower()}"
-
-HIERARCHY = { TypeEnum.ANY: None,
- TypeEnum.LITERAL: TypeEnum.ANY,
- TypeEnum.LIST: TypeEnum.ANY,
- TypeEnum.STRING: TypeEnum.LITERAL,
- TypeEnum.BOOL: TypeEnum.LITERAL,
- TypeEnum.NUMBER: TypeEnum.LITERAL,
- TypeEnum.INT: TypeEnum.NUMBER,
- TypeEnum.FLOAT: TypeEnum.NUMBER }
-
-def is_subtype_of(candidate, expected):
- if candidate == expected:
- return True
- parent = HIERARCHY[candidate]
- while parent is not None:
- if parent == expected:
- return True
- parent = HIERARCHY[parent]
- return False
-