builtup4/bu4/parsing/constructs/linked.py

31 lines
684 B
Python

from bu4.evaluation.av.envtype import envtype
from bu4.evaluation.constructs.evaluable import Evaluable
__all__ = ('Linked', 'Parsed',)
from bu4.linking.states.linkingstate import LinkingState
class Linked:
future: set[bytes]
def link(self) -> LinkingState:
raise NotImplementedError
def evaluable(self, env: envtype) -> Evaluable:
raise NotImplementedError
def unlink(self) -> 'Parsed':
raise NotImplementedError
def __bytes__(self):
return bytes(self.unlink())
class Parsed:
def link(self, promise: set[bytes]) -> Linked:
raise NotImplementedError
def __bytes__(self):
raise NotImplementedError