moonlight-core: Mathematical basis for Pale Meridian.

[ library, math, mit ] [ Propose Tags ] [ Report a vulnerability ]

A total vocabulary of numeric classes, structural identity, orders, patterns, fixpoints, union-find, finite registries, and host-neutral e-graph programs.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2
Change log CHANGELOG.md
Dependencies base (>=4.22 && <5), bytestring (>=0.11 && <0.13), comonad (>=5 && <6), containers (>=0.8 && <0.9), data-fix (>=0.3 && <0.4), deepseq (>=1.4 && <1.6), free (>=5.2 && <6), memory (>=0.18 && <0.19), moonlight-core, primitive (>=0.7 && <0.10), recursion-schemes (>=5.2 && <6), text (>=2.0 && <2.2), these (>=1.2 && <1.3), transformers (>=0.6 && <1), vector (>=0.13 && <0.14) [details]
Tested with ghc ==9.14.1
License MIT
Copyright (c) 2026 Blue Rose
Author Blue Rose
Maintainer rosaliafialkova@gmail.com
Uploaded by bluerose at 2026-07-23T02:39:10Z
Category Math
Home page https://github.com/PaleRoses/moonlight
Bug tracker https://github.com/PaleRoses/moonlight/issues
Source repo head: git clone https://github.com/PaleRoses/moonlight.git(moonlight-core)
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 6 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for moonlight-core-0.1.0.2

[back to package description]

moonlight-core

Part of Moonlight, the sheaf-theoretic computation layer beneath Melusine and Pale Meridian.

moonlight-core is Moonlight's foundation tier. The front door is the total umbrella module Moonlight.Core; its header carries the contract, the API map, and the worked recipes. This page is the dependency map and the build commands.

Surface & boundaries

Most downstream code imports the umbrella. Lower-level packages may depend on one of the public sublibraries.

Cabal dependency Import What you get
moonlight-core Moonlight.Core The ordinary total vocabulary. This is the default.
moonlight-core:moonlight-core-syntax Moonlight.Core.Pattern.AntiUnify Patterns and term anti-unification without the full umbrella.
moonlight-core:moonlight-core-automata Moonlight.Core.Pattern.Automata or .Kernel The bottom-up automata substrate and compiled matcher. Depend on syntax too when naming its types directly.
moonlight-core:moonlight-core-egraph-program Moonlight.Core.EGraph.Program The host-neutral e-graph program algebra without the rest of the foundation.
moonlight-core Moonlight.Core.Unsound The explicit trust boundary.

The private implementation slices remain basis, numeric, solver, and term. Syntax, automata, and e-graph programs are public because other foundation packages consume those exact owners. The umbrella re-exports the syntax and e-graph-program vocabulary; automata are imported only through the sublibrary.

Test

cabal test moonlight-core:moonlight-core-test

Benchmarks

cabal bench moonlight-core:moonlight-core-bench --benchmark-options='--timeout=2s --csv=comparison.csv'

hackage: rows measure a package-level baseline (containers, memory, scientific, equivalence) on the same fixture; world: rows are source-equivalent baselines where no package owner exists. Fixtures assert result agreement with the baseline before timing. Dated receipts live in docs/BENCHMARKS-m4-pro.md.

License

MIT. See LICENSE.