Open
Description
@dataclass
class IList(ir.Data[Sequence[T]], Sequence[T], Generic[T, L]):
"""A simple immutable list."""
data:Sequence[T]
elem: types.TypeAttribute
def __init__(self, data:Sequence[T], elem: types.TypeAttribute | None = None):
self.data = data
if elem is None:
self._infer_type()
else:
self.elem = elem
self.type = types.Generic(IList, self.elem, types.Literal(len(self.data)))
def _infer_type(self): ... #TODO