moonlight-pale: Shared diagnostics, law testing, and GHC/HIE tooling for Moonlight.

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

Role-specific public libraries for diagnostics, law testing, benchmarking, GHC/HIE source tooling, and compile-diagnostic support.


[Skip to Readme]

library moonlight-pale:diagnostic-ghc

library moonlight-pale:test-laws

library moonlight-pale:test-surface

library moonlight-pale:measurement

Modules

[Index] [Quick Jump]

library moonlight-pale:test

library moonlight-pale:diagnostic

library moonlight-pale:ghc-surface

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
Change log CHANGELOG.md
Dependencies aeson (>=2.3 && <2.4), array (>=0.5 && <0.6), base (>=4.22 && <5), bytestring (>=0.12 && <0.13), Cabal-syntax (>=3.16 && <3.17), containers (>=0.8 && <0.9), deepseq (>=1.5 && <1.6), directory (>=1.3 && <1.4), filepath (>=1.5 && <1.6), ghc (>=9.14 && <9.16), ghc-boot-th (>=9.14 && <9.16), hedgehog (>=1.7 && <1.8), moonlight-core (>=0.1.0.3 && <0.2), moonlight-pale, mtl (>=2.3 && <2.4), prettyprinter (>=1.7 && <1.8), primitive (>=0.9 && <0.10), process (>=1.6 && <1.7), tasty (>=1.5 && <1.6), tasty-hedgehog (>=1.4 && <1.5), tasty-hunit (>=0.10 && <0.11), tasty-quickcheck (>=0.11 && <0.12), temporary (>=1.3 && <1.4), text (>=2.1 && <2.2), transformers (>=0.6 && <0.7), vector (>=0.13 && <0.14) [details]
Tested with ghc ==9.10.3, ghc ==9.12.4, ghc ==9.14.1
License MIT
Author Blue Rose
Maintainer rosaliafialkova@gmail.com
Uploaded by bluerose at 2026-08-21T23:18:39Z
Category Development
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-pale)
this: git clone https://github.com/PaleRoses/moonlight.git(tag moonlight-pale-0.1.0.3)(moonlight-pale)
Distributions
Downloads 11 total (11 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-pale-0.1.0.3

[back to package description]

moonlight-pale

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

moonlight-pale centralizes diagnostics, law testing, and GHC/HIE tooling without forcing ghc on Moonlight's foundation packages.

It ships as a family of single-role public sublibraries; depend on the smallest slice you use. Modules live under Moonlight.Pale.*. This README owns package-level narrative; Haddock adds only terse module summaries, never repetitive per-export prose.

Surface & boundaries

Cabal dependency Front-door import What you get
moonlight-pale:diagnostic Moonlight.Pale.Diagnostic.Core Severities and the accumulating Diagnosed writer; topology, local-run, aggregation, summary, and derived-view vocabulary; replay statistics in validated refinement types. Pure base + containers.
moonlight-pale:test Moonlight.Pale.Test.Core Validated tolerances, shared budgets, typed assertions, resource discovery, and recursion-coherence predicates.
moonlight-pale:test-surface Moonlight.Pale.Test.ImportDiscipline Import-discipline checks over the public layering.
moonlight-pale:test-laws Moonlight.Pale.Test.Laws.Suite Algebraic law predicates (Semigroup, Monoid, lattice, restriction) and the LawSuite DSL that names each law it checks.
moonlight-pale:ghc-surface Moonlight.Pale.Ghc.Expr, .Hie.Read, .ModuleSurface A scoped, normalized expression algebra with structural equivalence and faithful rendering; .hie reading, source-key indexing, a type-word oracle; and a module-surface summary. The only sublibrary that speaks ghc.
moonlight-pale:diagnostic-ghc Moonlight.Pale.TestSupport.CompileDiagnostics Compile-diagnostic snapshot capture: drives the compiler as a subprocess and serializes diagnostics for tests.
moonlight-pale:measurement Moonlight.Pale.Bench.Measure Checked, process-scoped RTS-cost sampling for benchmark executables that need an explicit allocation receipt. Microbenchmarks use tasty-bench directly.

moonlight-pale depends up onto moonlight-core only; it never depends on a higher foundation package, so it introduces no cycle. The diagnostic sublibrary pays for nothing but base + containers; only ghc-surface pulls ghc.

Compiler support

moonlight-pale:test and moonlight-pale:test-laws, including their own test suites, support GHC 9.10.3, 9.12.4, and 9.14.1 (base >= 4.20). The remaining explicitly GHC 9.14-only components retain their existing floors rather than making ordinary test support unavailable to the advertised consumer matrix.

Test

cabal test moonlight-pale

License

MIT. See LICENSE.