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]

library moonlight-core

Modules

[Last Documentation]

  • Moonlight
    • Moonlight.Core
      • Moonlight.Core.Unsound

library moonlight-core:automata

Modules

[Last Documentation]

  • Moonlight
    • Automata
      • Pure
        • Moonlight.Automata.Pure.Algebra
        • Moonlight.Automata.Pure.Coalgebra
        • Moonlight.Automata.Pure.Core
        • Moonlight.Automata.Pure.Transducer
    • Core
      • Pattern
        • Moonlight.Core.Pattern.Automata
        • Moonlight.Core.Pattern.Kernel

library moonlight-core:syntax

Modules

[Last Documentation]

  • Moonlight
    • Core
      • Fix
        • Moonlight.Core.Fix.Order
      • Moonlight.Core.Guidance
      • Moonlight.Core.Language
      • Moonlight.Core.Pattern
        • Moonlight.Core.Pattern.AntiUnify
      • Site
        • Moonlight.Core.Site.Program
      • Moonlight.Core.Substitution
      • Moonlight.Core.Theory

library moonlight-core:egraph-program

Modules

[Last Documentation]

  • Moonlight
    • Core
      • EGraph
        • Moonlight.Core.EGraph.Program

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, 0.1.0.3, 0.1.0.4
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.5 && <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.10.3, ghc ==9.12.4, ghc ==9.14.1
License MIT
Copyright (c) 2026 Blue Rose
Author Blue Rose
Maintainer rosaliafialkova@gmail.com
Uploaded by bluerose at 2026-08-21T04:22:06Z
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)
this: git clone https://github.com/PaleRoses/moonlight.git(tag moonlight-core-0.1.0.3)(moonlight-core)
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 37 total (11 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2026-08-21 [all 2 reports]

Readme for moonlight-core-0.1.0.3

[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.