clearer module dependence

This commit is contained in:
AF 2021-09-12 12:47:45 +03:00
parent 0a5d2eb0c5
commit de5a8ed899
25 changed files with 72 additions and 72 deletions

View File

@ -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]:

View File

@ -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]:

View File

@ -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]:

View File

@ -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):

View File

@ -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

View File

@ -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):

View File

@ -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,

View File

@ -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):

View File

@ -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]:

View File

@ -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):

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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
)

View File

@ -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]

View File

@ -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

View File

@ -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]:

View File

@ -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

View File

@ -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]:

View File

@ -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]:

View File

@ -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

View File

@ -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]:

View File

@ -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]:

View File

@ -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)

View File

@ -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