diff options
Diffstat (limited to 'typeclass.py')
| -rw-r--r-- | typeclass.py | 34 | 
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 - | 
