Releases: ordokr/ordofp
Release list
OrdoFP 0.1.0 — initial public release
First release on crates.io. OrdoFP began as a fork of
frunk (see THIRD_PARTY_NOTICES.md for
lineage and attribution) and was developed privately before this release;
docs/migration.md explains the internal 2.x → 0.1.0 version reset.
Workspace
ordofp— facade crate re-exporting the default surface (std,derives,
proc-macros,Probatum).ordofp_core— the library proper: data structures, type classes, optics,
effects, async, parallel execution.ordofp_macros— derive (Universalis,NominataUniversalis) and
procedural (path!,path_type!) macro support.ordofp_laws— property-based law checking (Functor/Monad/algebraic laws)
for OrdoFP instances and your own.ordofp_bayes— standalone probabilistic-programming crate (SMC,
Metropolis-Hastings, importance sampling).
Highlights
- Data structures: HList (
Coniunctio), coproducts (Disiunctio),
NonEmpty,Zipper, persistent collections (pfds). - Type classes: GAT-based Functor / Applicatio / Monad / Compositio /
Unitas hierarchy, Semigroup/Monoid, Traversable. - Optics: lenses, prisms, isos, traversals, affine + indexed optics,
profunctor encoding, zero-cloneAspectusRefcomposition. - Generic programming:
Universalis/NominataUniversalis
struct↔HList conversion, sculpting,Transfigurator. - Effects & async:
Flumenstreams with optional fusion,Fibra
structured concurrency, row-typed effects (nexus), CPS monad
transformers, tokio/smol runtime integrations. - Parallelism:
ParFlumenwith scalar/rayon/wgpu backends (feature
gated), SIMD helpers. - Validation:
Probatumaccumulating validation with a spill-free inline
error buffer.
All non-default functionality is feature-gated and additive; see
docs/FEATURE_FLAGS.md for the canonical matrix.
Builds on stable Rust (MSRV 1.97). The opt-in nightly feature enables
unstable-Rust acceleration (branch-prediction hints, portable_simd-backed
f32 kernels) with identical semantics.
Dependency posture: the default build has zero runtime dependencies (only
the compile-time proc-macro stack); serde/tokio/smol/rayon/wgpu integrations
are strictly opt-in. ordofp_bayes depends only on rand (Normal and
Exp(1) sampling are implemented in-crate), and ordofp_laws pulls
quickcheck without its logging stack.
Crates
| Crate | crates.io | docs.rs |
|---|---|---|
ordofp |
https://crates.io/crates/ordofp | https://docs.rs/ordofp |
ordofp_core |
https://crates.io/crates/ordofp_core | https://docs.rs/ordofp_core |
ordofp_macros |
https://crates.io/crates/ordofp_macros | https://docs.rs/ordofp_macros |
ordofp_bayes |
https://crates.io/crates/ordofp_bayes | https://docs.rs/ordofp_bayes |
ordofp_laws |
https://crates.io/crates/ordofp_laws | https://docs.rs/ordofp_laws |