mixle.program moduleΒΆ
Compatibility shim: mixle.program moved to mixle.experimental.program.
The optimization-program approach (moves + combinators) was a reasonable exploration but not a mature surface β
its closure-taking API (minimize(lambda: loss, over=params)) is the PyTorch-style jank it meant to avoid β
so it now lives under mixle.experimental. For the common cases prefer the declarative neural surface:
from mixle.ppl import Categorical, Normal, Net, free
Categorical(logits=Net(out=10)).fit(y, given={"x": X}) # neural classification, zero closures
Normal(Net(out=1), free).fit(y, given={"x": X}) # neural mean + learned noise (the blend)
Existing from mixle.program import X imports keep working (with a DeprecationWarning); new
code should import from mixle.experimental.program (or use the declarative surface above).
This is a stable-namespace module, so it must not pull mixle.experimental into the stable import
graph. It therefore resolves the moved API lazily, through importlib on a string rather than a
static import mixle.experimental β keeping the experimental boundary (enforced by
experimental_boundary_test) clean while the old name keeps redirecting.