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.