clearer module dependence
This commit is contained in:
parent
0a5d2eb0c5
commit
de5a8ed899
@ -1,11 +1,11 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.combinatory.lcombinatory import LCombinatory
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.constructs.evalue import EValue
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.parsing.codes import CODE_CMBI
|
||||
from bu4.parsing.extensions.CodeExtension import CodeExtension
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -23,7 +23,7 @@ class EIC(EValue):
|
||||
|
||||
|
||||
class IIC(Indexed):
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return EIC()
|
||||
|
||||
def bytes(self) -> TransformState[bytes]:
|
||||
@ -43,7 +43,7 @@ class LIC(LCombinatory):
|
||||
self.future = set()
|
||||
self.multifuture = set()
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return EIC()
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,12 +1,12 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.combinatory.lcombinatory import LCombinatory
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.edelayed import EDelayed
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.constructs.evalue import EValue
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.parsing.codes import CODE_CMBK
|
||||
from bu4.parsing.extensions.CodeExtension import CodeExtension
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -24,7 +24,7 @@ class EKC(EValue):
|
||||
|
||||
|
||||
class IKC(Indexed):
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return EKC()
|
||||
|
||||
def bytes(self) -> TransformState[bytes]:
|
||||
@ -44,7 +44,7 @@ class LKC(LCombinatory):
|
||||
self.future = set()
|
||||
self.multifuture = set()
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return EKC()
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
from bu4.combinatory.lcombinatory import LCombinatory
|
||||
from bu4.evaluation.av.aftervalue import AfterValue
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.constructs.evalue import EValue
|
||||
from bu4.evaluation.targets.avanonymouscontainer import AVAnonymousContainer
|
||||
from bu4.evaluation.targets.avcall import AVCall
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.parsing.codes import CODE_CMBS
|
||||
from bu4.parsing.extensions.CodeExtension import CodeExtension
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -58,7 +58,7 @@ class ESC(EValue):
|
||||
|
||||
|
||||
class ISC(Indexed):
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return ESC()
|
||||
|
||||
def bytes(self) -> TransformState[bytes]:
|
||||
@ -78,7 +78,7 @@ class LSC(LCombinatory):
|
||||
self.future = set()
|
||||
self.multifuture = set()
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return ESC()
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,11 +1,11 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.aftervalue import AfterValue
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.targets.avcall import AVCall
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.parsing.codes import CODE_CALL
|
||||
from bu4.transform.states.aftertransform import AfterTransform
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -21,7 +21,7 @@ class ICall(Indexed):
|
||||
self.argument = argument
|
||||
self.lambda_ = lambda_
|
||||
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return AfterValue(EAttachable(ev, self.lambda_), AVCall(EAttachable(ev, self.argument)))
|
||||
|
||||
def __str__(self):
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.edelayed import EDelayed
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.parsing.codes import CODE_DLYD
|
||||
from bu4.transform.states.aftertransform import AfterTransform
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -19,7 +19,7 @@ class IDelayed(Indexed):
|
||||
def __init__(self, value: Indexed):
|
||||
self.value = value
|
||||
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return EDelayed(EAttachable(
|
||||
ev,
|
||||
self.value
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.eexception import EException
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.parsing.codes import CODE_XCPT
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
@ -15,7 +15,7 @@ class IException(Indexed):
|
||||
def __init__(self, name: bytes):
|
||||
self.name = name
|
||||
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return EException(self.name)
|
||||
|
||||
def __str__(self):
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.eilambda import EILambda
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eilambda import EILambda
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.parsing.codes import CODE_MAKE
|
||||
from bu4.transform.states.aftertransform import AfterTransform
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -20,7 +20,7 @@ class ILambda(Indexed):
|
||||
self.table = table
|
||||
self.memoize = memoize
|
||||
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return EILambda(
|
||||
[ev[i] for i in self.table],
|
||||
self.value,
|
||||
|
@ -1,8 +1,8 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.parsing.codes import CODE_NAME
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
@ -14,7 +14,7 @@ class IName(Indexed):
|
||||
def __init__(self, index: int):
|
||||
self.index = index
|
||||
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return ev[self.index]
|
||||
|
||||
def __str__(self):
|
||||
|
@ -1,16 +1,16 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.attachable import Attachable
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
from bu4.transform.transform import transform
|
||||
|
||||
__all__ = ('Indexed',)
|
||||
|
||||
|
||||
class Indexed(Attachable[evtype]):
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
class Indexed(Attachable[eivtype]):
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
raise NotImplementedError
|
||||
|
||||
def bytes(self) -> TransformState[bytes]:
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.enull import ENull
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.parsing.codes import CODE_NULL
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
@ -12,7 +12,7 @@ __all__ = ('INull',)
|
||||
|
||||
|
||||
class INull(Indexed):
|
||||
def attach(self, ev: evtype) -> Evaluable:
|
||||
def attach(self, ev: eivtype) -> Evaluable:
|
||||
return ENull()
|
||||
|
||||
def __str__(self):
|
||||
|
@ -1,23 +1,23 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.av.lambdaev import LambdaEv
|
||||
from bu4.evaluation.constructs.attachable import Attachable
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.constructs.evalue import EValue
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
from bu4.indexing.evaluation.lambdaeiv import LambdaEiv
|
||||
|
||||
__all__ = ('EILambda',)
|
||||
|
||||
|
||||
class EILambda(EValue):
|
||||
def __init__(self, ev: evtype, value: Attachable[evtype], *, memoize: bool):
|
||||
def __init__(self, ev: eivtype, value: Attachable[eivtype], *, memoize: bool):
|
||||
self.ev = ev
|
||||
self.value = value
|
||||
self.memoize = memoize
|
||||
|
||||
def call(self, argument: Evaluable) -> Evaluable:
|
||||
ev: evtype = LambdaEv(self.ev, argument, memoize=self.memoize)
|
||||
ev: eivtype = LambdaEiv(self.ev, argument, memoize=self.memoize)
|
||||
return EAttachable(
|
||||
ev,
|
||||
self.value
|
@ -2,7 +2,7 @@
|
||||
|
||||
from typing import Sequence
|
||||
|
||||
__all__ = ('evtype',)
|
||||
__all__ = ('eivtype',)
|
||||
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
|
||||
@ -11,4 +11,4 @@ try:
|
||||
except ImportError:
|
||||
TypeAlias = type
|
||||
|
||||
evtype: TypeAlias = Sequence[Evaluable]
|
||||
eivtype: TypeAlias = Sequence[Evaluable]
|
@ -2,14 +2,14 @@
|
||||
|
||||
from typing import Sequence
|
||||
|
||||
from bu4.evaluation.av.evtype import evtype
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.targets.avanonymouscontainer import AVAnonymousContainer
|
||||
from bu4.indexing.evaluation.eivtype import eivtype
|
||||
|
||||
__all__ = ('LambdaEv',)
|
||||
__all__ = ('LambdaEiv',)
|
||||
|
||||
|
||||
class LambdaEv(Sequence[Evaluable]):
|
||||
class LambdaEiv(Sequence[Evaluable]):
|
||||
def __getitem__(self, i: int) -> Evaluable:
|
||||
if i == 0:
|
||||
return self.container
|
||||
@ -19,6 +19,6 @@ class LambdaEv(Sequence[Evaluable]):
|
||||
def __len__(self) -> int:
|
||||
return len(self.ev) + 1
|
||||
|
||||
def __init__(self, ev: evtype, evaluable: Evaluable, *, memoize):
|
||||
def __init__(self, ev: eivtype, evaluable: Evaluable, *, memoize):
|
||||
self.ev = ev
|
||||
self.container = AVAnonymousContainer(evaluable).after_value if memoize else evaluable
|
@ -1,17 +1,17 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.av.lambdaenv import LambdaEnv
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.constructs.evalue import EValue
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linkable.evaluation.lambdaelv import LambdaElv
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
|
||||
__all__ = ('ELambda',)
|
||||
__all__ = ('ELLambda',)
|
||||
|
||||
|
||||
class ELambda(EValue):
|
||||
def __init__(self, env: envtype, name: bytes, value: Linked):
|
||||
class ELLambda(EValue):
|
||||
def __init__(self, env: elvtype, name: bytes, value: Linked):
|
||||
self.env = env
|
||||
self.name = name
|
||||
self.value = value
|
||||
@ -20,7 +20,7 @@ class ELambda(EValue):
|
||||
|
||||
def call(self, argument: Evaluable) -> Evaluable:
|
||||
return EAttachable(
|
||||
LambdaEnv(self.env, self.name, argument, memoize=self.memoize) if self.used else self.env,
|
||||
LambdaElv(self.env, self.name, argument, memoize=self.memoize) if self.used else self.env,
|
||||
self.value
|
||||
)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
from typing import Mapping
|
||||
|
||||
__all__ = ('envtype',)
|
||||
__all__ = ('elvtype',)
|
||||
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
|
||||
@ -11,4 +11,4 @@ try:
|
||||
except ImportError:
|
||||
TypeAlias = type
|
||||
|
||||
envtype: TypeAlias = Mapping[bytes, Evaluable]
|
||||
elvtype: TypeAlias = Mapping[bytes, Evaluable]
|
@ -2,14 +2,14 @@
|
||||
|
||||
from typing import Mapping, Iterator
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.targets.avnamedcontainer import AVNamedContainer
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
|
||||
__all__ = ('LambdaEnv',)
|
||||
__all__ = ('LambdaElv',)
|
||||
|
||||
|
||||
class LambdaEnv(Mapping[bytes, Evaluable]):
|
||||
class LambdaElv(Mapping[bytes, Evaluable]):
|
||||
def __getitem__(self, k: bytes) -> Evaluable:
|
||||
if k == self.name:
|
||||
return self.container
|
||||
@ -23,7 +23,7 @@ class LambdaEnv(Mapping[bytes, Evaluable]):
|
||||
yield self.name
|
||||
yield from self.env
|
||||
|
||||
def __init__(self, env: envtype, name: bytes, evaluable: Evaluable, *, memoize):
|
||||
def __init__(self, env: elvtype, name: bytes, evaluable: Evaluable, *, memoize):
|
||||
self.env = env
|
||||
self.name = name
|
||||
self.container = AVNamedContainer(evaluable, name).after_value if memoize else evaluable
|
@ -1,12 +1,12 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.aftervalue import AfterValue
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.evaluation.targets.avcall import AVCall
|
||||
from bu4.indexing.constructs.icall import ICall
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
from bu4.transform.states.aftertransform import AfterTransform
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -31,7 +31,7 @@ class LCall(Linked):
|
||||
(self.argument.future & self.lambda_.future)
|
||||
)
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return AfterValue(EAttachable(env, self.lambda_), AVCall(EAttachable(env, self.argument)))
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,11 +1,11 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.edelayed import EDelayed
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.idelayed import IDelayed
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
from bu4.transform.states.aftertransform import AfterTransform
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -24,7 +24,7 @@ class LDelayed(Linked):
|
||||
self.future = self.value.future
|
||||
self.multifuture = self.future
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return EDelayed(EAttachable(
|
||||
env,
|
||||
self.value
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.eexception import EException
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.iexception import IException
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
@ -18,7 +18,7 @@ class LException(Linked):
|
||||
self.future = set()
|
||||
self.multifuture = set()
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return EException(self.name)
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,19 +1,19 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.attachable import Attachable
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
|
||||
__all__ = ('Linked',)
|
||||
|
||||
|
||||
class Linked(Attachable[envtype]):
|
||||
class Linked(Attachable[elvtype]):
|
||||
future: set[bytes]
|
||||
multifuture: set[bytes]
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
raise NotImplementedError
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,13 +1,13 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.evaluation.constructs.edelayed import EDelayed
|
||||
from bu4.evaluation.constructs.elambda import ELambda
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.idelayed import IDelayed
|
||||
from bu4.indexing.constructs.ilambda import ILambda
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.linkable.evaluation.ellambda import ELLambda
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
from bu4.transform.states.aftertransform import AfterTransform
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
@ -29,9 +29,9 @@ class LLambda(Linked):
|
||||
self.used = name in value.future
|
||||
self.memoize = name in value.multifuture
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return (
|
||||
ELambda(
|
||||
ELLambda(
|
||||
{name: env[name] for name in self.future} if self.used else env,
|
||||
self.name,
|
||||
self.value
|
||||
|
@ -1,9 +1,9 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.iname import IName
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
@ -17,7 +17,7 @@ class LName(Linked):
|
||||
self.future = {name}
|
||||
self.multifuture = set()
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return env[self.name]
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.enull import ENull
|
||||
from bu4.evaluation.constructs.evaluable import Evaluable
|
||||
from bu4.indexing.constructs.indexed import Indexed
|
||||
from bu4.indexing.constructs.inull import INull
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.linking.constructs.linked import Linked
|
||||
from bu4.transform.states.transformfinished import TransformFinished
|
||||
from bu4.transform.states.transformstate import TransformState
|
||||
@ -17,7 +17,7 @@ class LNull(Linked):
|
||||
self.future = set()
|
||||
self.multifuture = set()
|
||||
|
||||
def attach(self, env: envtype) -> Evaluable:
|
||||
def attach(self, env: elvtype) -> Evaluable:
|
||||
return ENull()
|
||||
|
||||
def index(self, promise: list[bytes]) -> TransformState[Indexed]:
|
||||
|
@ -1,13 +1,13 @@
|
||||
# Copyright (c) PARRRATE T&V 2021. All rights reserved.
|
||||
|
||||
from bu4.evaluation.av.envtype import envtype
|
||||
from bu4.evaluation.constructs.eattachable import EAttachable
|
||||
from bu4.linkable.constructs.parsed import Parsed
|
||||
from bu4.linkable.evaluation.elvtype import elvtype
|
||||
from bu4.transform.transform import transform
|
||||
|
||||
__all__ = ('evaluable_from_parsed',)
|
||||
|
||||
|
||||
def evaluable_from_parsed(env: envtype, parsed: Parsed):
|
||||
def evaluable_from_parsed(env: elvtype, parsed: Parsed):
|
||||
linked = transform(parsed.link(set(env)))
|
||||
return EAttachable(env, linked)
|
||||
|
@ -4,10 +4,10 @@ from bu4.combinatory.lic import EIC
|
||||
from bu4.combinatory.lkc import EKC
|
||||
from bu4.combinatory.lsc import ESC, ESC1, ESC2
|
||||
from bu4.evaluation.constructs.edelayed import EDelayed
|
||||
from bu4.evaluation.constructs.eilambda import EILambda
|
||||
from bu4.evaluation.constructs.elambda import ELambda
|
||||
from bu4.evaluation.constructs.evalue import EValue
|
||||
from bu4.evaluation.sync import sync
|
||||
from bu4.indexing.evaluation.eilambda import EILambda
|
||||
from bu4.linkable.evaluation.ellambda import ELLambda
|
||||
from bu4.tracing.probe import ProbeA
|
||||
|
||||
__all__ = ('trace', 'probe_index_reset',)
|
||||
@ -19,7 +19,7 @@ def trace(lambda_: EValue):
|
||||
global _probe_index
|
||||
size = 0
|
||||
while True:
|
||||
if not isinstance(lambda_, (ELambda, EILambda, EIC, EKC, ESC, ESC1, ESC2, EDelayed)):
|
||||
if not isinstance(lambda_, (ELLambda, EILambda, EIC, EKC, ESC, ESC1, ESC2, EDelayed)):
|
||||
return size, lambda_
|
||||
lambda_ = sync(lambda_.call(ProbeA(_probe_index)))
|
||||
_probe_index += 1
|
||||
|
Loading…
Reference in New Issue
Block a user