moonlight-core-0.1.0.2: moonlight-core.cabal
cabal-version: 3.0
name: moonlight-core
version: 0.1.0.2
synopsis: Mathematical basis for Pale Meridian.
description: A total vocabulary of numeric classes, structural identity, orders, patterns, fixpoints, union-find, finite registries, and host-neutral e-graph programs.
license: MIT
license-file: LICENSE
author: Blue Rose
maintainer: rosaliafialkova@gmail.com
copyright: (c) 2026 Blue Rose
category: Math
homepage: https://github.com/PaleRoses/moonlight
bug-reports: https://github.com/PaleRoses/moonlight/issues
build-type: Simple
tested-with: GHC == 9.14.1
extra-doc-files:
README.md
CHANGELOG.md
source-repository head
type: git
location: https://github.com/PaleRoses/moonlight.git
subdir: moonlight-core
common shared-properties
default-language: GHC2024
ghc-options:
-Wall
-Wcompat
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Wpartial-fields
-Wno-missing-import-lists
default-extensions:
StrictData
NoImplicitPrelude
TypeFamilies
UndecidableInstances
library moonlight-core-basis
import: shared-properties
visibility: private
hs-source-dirs: src-basis
exposed-modules:
Moonlight.Core.Aggregate
Moonlight.Core.Boundary
Moonlight.Core.Cardinality
Moonlight.Core.Capability
Moonlight.Core.Dedup
Moonlight.Core.DenseKey
Moonlight.Core.DomainId
Moonlight.Core.DomainId.Internal
Moonlight.Core.Error
Moonlight.Core.Finite
Moonlight.Core.Hash
Moonlight.Core.Identifier
Moonlight.Core.Identifier.EGraph
Moonlight.Core.IsoNorm
Moonlight.Core.LawName
Moonlight.Core.MapAccum
Moonlight.Core.MapInvert
Moonlight.Core.Match
Moonlight.Core.ModuleIdentifier
Moonlight.Core.OrdCollection
Moonlight.Core.Order
Moonlight.Core.ProofManifest
Moonlight.Core.Queue
Moonlight.Core.Refinement
Moonlight.Core.Relational
Moonlight.Core.Scan
Moonlight.Core.StableHash
Moonlight.Core.TotalRegistry
Moonlight.Core.TypeLevel
Moonlight.Core.Validation
Moonlight.Internal.Unsound
build-depends:
base >= 4.22 && < 5
, bytestring >= 0.11 && < 0.13
, containers >= 0.8 && < 0.9
, memory >= 0.18 && < 0.19
, text >= 2.0 && < 2.2
library egraph-program
import: shared-properties
visibility: public
hs-source-dirs: src-egraph-program
exposed-modules:
Moonlight.Core.EGraph.Program
build-depends:
base >= 4.22 && < 5
, free >= 5.2 && < 6
, moonlight-core:moonlight-core-basis
library moonlight-core-numeric
import: shared-properties
visibility: private
hs-source-dirs: src-numeric
exposed-modules:
Moonlight.Core.ApproxEq
Moonlight.Core.Canon
Moonlight.Core.CanonicalNumber
Moonlight.Core.ExactToken
Moonlight.Core.Niche
Moonlight.Core.Numeric
Moonlight.Core.Scalar
Moonlight.Core.Unsound
other-modules:
Moonlight.Core.CanonicalNumber.Internal
Moonlight.Core.Niche.Internal
Moonlight.Internal.FloatMath
build-depends:
base >= 4.22 && < 5
, bytestring >= 0.11 && < 0.13
, containers >= 0.8 && < 0.9
, moonlight-core:moonlight-core-basis
, text >= 2.0 && < 2.2
library syntax
import: shared-properties
visibility: public
hs-source-dirs: src-syntax
exposed-modules:
Moonlight.Core.Guidance
Moonlight.Core.Language
Moonlight.Core.Pattern
Moonlight.Core.Pattern.AntiUnify
Moonlight.Core.Fix.Order
Moonlight.Core.Site.Program
Moonlight.Core.Substitution
Moonlight.Core.Theory
build-depends:
base >= 4.22 && < 5
, containers >= 0.8 && < 0.9
, data-fix >= 0.3 && < 0.4
, moonlight-core:moonlight-core-basis
, transformers >= 0.6 && < 1
library automata
import: shared-properties
visibility: public
hs-source-dirs: src-automata
default-extensions:
NoStrictData
exposed-modules:
Moonlight.Automata.Pure.Algebra
Moonlight.Automata.Pure.Coalgebra
Moonlight.Automata.Pure.Core
Moonlight.Automata.Pure.Transducer
Moonlight.Core.Pattern.Automata
Moonlight.Core.Pattern.Kernel
build-depends:
base >= 4.22 && < 5
, comonad >= 5 && < 6
, containers >= 0.8 && < 0.9
, data-fix >= 0.3 && < 0.4
, free >= 5.2 && < 6
, moonlight-core:moonlight-core-basis
, moonlight-core:syntax
, recursion-schemes >= 5.2 && < 6
, these >= 1.2 && < 1.3
, transformers >= 0.6 && < 1
library moonlight-core-solver
import: shared-properties
visibility: private
hs-source-dirs: src-solver
exposed-modules:
Moonlight.Core.Fixpoint
Moonlight.Core.Fixpoint.Dense
Moonlight.Core.UnionFind
Moonlight.Core.UnionFind.Transaction
other-modules:
Moonlight.Core.Fixpoint.Internal.Combinators
Moonlight.Core.Fixpoint.Internal.Solver.Types
Moonlight.Core.Fixpoint.Internal.Solver.Plan
Moonlight.Core.Fixpoint.Internal.Solver.BitSet
Moonlight.Core.Fixpoint.Internal.Solver.WorkQueue
Moonlight.Core.Fixpoint.Internal.Solver.Arena
Moonlight.Core.Fixpoint.Internal.Solver.Engine
Moonlight.Core.Fixpoint.Dense.Internal.Csr
Moonlight.Core.Fixpoint.Dense.Internal.Policy
Moonlight.Core.Fixpoint.Dense.Internal.AdaptiveIntSet
Moonlight.Core.Fixpoint.Dense.Internal.Scc
Moonlight.Core.Fixpoint.Dense.Internal.ClosureCache
Moonlight.Core.Fixpoint.Dense.Internal.Snapshot
Moonlight.Core.Fixpoint.Dense.Internal.Scratch
Moonlight.Core.Fixpoint.Dense.Internal.Traverse
Moonlight.Core.UnionFind.Transaction.Internal.Types
Moonlight.Core.UnionFind.Transaction.Internal.Policy
Moonlight.Core.UnionFind.Transaction.Internal.DenseStore
Moonlight.Core.UnionFind.Transaction.Internal.Storage
Moonlight.Core.UnionFind.Transaction.Internal.Algorithm
Moonlight.Core.UnionFind.Transaction.Internal.Snapshot
Moonlight.Core.UnionFind.Transaction.Internal.Lifecycle
Moonlight.Core.UnionFind.Internal.Semantics
Moonlight.Core.UnionFind.Internal.Types
build-depends:
base >= 4.22 && < 5
, containers >= 0.8 && < 0.9
, deepseq >= 1.4 && < 1.6
, free >= 5.2 && < 6
, moonlight-core:moonlight-core-basis
, primitive >= 0.7 && < 0.10
, vector >= 0.13 && < 0.14
library moonlight-core-term
import: shared-properties
visibility: private
hs-source-dirs: src-term
exposed-modules:
Moonlight.Core.Term.Database
Moonlight.Core.Term.Database.Canonicalize
other-modules:
Moonlight.Core.Term.Database.Arrangement
Moonlight.Core.Term.Database.Atom
Moonlight.Core.Term.Database.Command
Moonlight.Core.Term.Database.Encode
Moonlight.Core.Term.Database.FreeJoin
Moonlight.Core.Term.Database.Index
Moonlight.Core.Term.Database.Lookup
Moonlight.Core.Term.Database.OperatorTable
Moonlight.Core.Term.Database.Pattern
Moonlight.Core.Term.Database.Projection
Moonlight.Core.Term.Database.Table
Moonlight.Core.Term.Database.Transaction
Moonlight.Core.Term.Database.Types
build-depends:
base >= 4.22 && < 5
, containers >= 0.8 && < 0.9
, moonlight-core:moonlight-core-basis
, moonlight-core:syntax
, primitive >= 0.7 && < 0.10
, vector >= 0.13 && < 0.14
library
import: shared-properties
hs-source-dirs: src-public
exposed-modules:
Moonlight.Core
reexported-modules:
Moonlight.Core.Unsound
build-depends:
base >= 4.22 && < 5
, containers >= 0.8 && < 0.9
, moonlight-core:egraph-program
, moonlight-core:moonlight-core-numeric
, moonlight-core:moonlight-core-solver
, moonlight-core:moonlight-core-basis
, moonlight-core:syntax
, moonlight-core:moonlight-core-term
common moonlight-core-test-properties
default-language: GHC2024
ghc-options: -Wall -Wcompat
default-extensions:
TypeFamilies
build-depends:
base >= 4.22 && < 5
, bytestring >= 0.11
, containers >= 0.8
, filepath >= 1.4
, moonlight-core
, primitive >= 0.7
, text >= 2.0
, tasty >= 1.4
, tasty-hunit >= 0.10
, tasty-quickcheck >= 0.10
, QuickCheck >= 2.14
, vector >= 0.13
test-suite moonlight-core-basis-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs:
test/basis
test/support
main-is: Main.hs
other-modules:
BasisTests
BoundarySpec
CardinalitySpec
DenseKeySpec
FiniteSpec
IsoNormSpec
LawProperty
MapAccumSpec
OrdCollectionSpec
OrderSpec
ProofManifestSpec
QueueSpec
RelationalSpec
SourceShape
StableHashSpec
TotalRegistrySpec
TypeLevelSpec
ValidationSpec
test-suite moonlight-core-numeric-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs:
test/numeric
test/support
main-is: Main.hs
other-modules:
ApproxEqSpec
CanonSpec
CanonicalNumberSpec
ExactTokenSpec
NicheSpec
NumericTests
ScalarLawsSpec
SourceShape
test-suite moonlight-core-syntax-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs:
test/syntax
test/support
main-is: Main.hs
other-modules:
LawProperty
PatternSpec
SubstitutionSpec
SyntaxTests
TheorySpec
test-suite moonlight-core-solver-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs: test/solver
main-is: Main.hs
other-modules:
FixpointSpec
SolverTests
UnionFindSpec
test-suite moonlight-core-term-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs: test/term
main-is: Main.hs
other-modules:
DatabaseLawSpec
DatabaseSpec
TermTests
test-suite moonlight-core-facade-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs:
test/facade
test/support
main-is: Main.hs
other-modules:
PublicSurfaceSpec
SourceShape
test-suite moonlight-core-test
import: moonlight-core-test-properties
type: exitcode-stdio-1.0
hs-source-dirs:
test/aggregate
test/basis
test/numeric
test/syntax
test/solver
test/term
test/facade
test/support
main-is: Main.hs
other-modules:
ApproxEqSpec
BasisTests
BoundarySpec
CardinalitySpec
CanonSpec
CanonicalNumberSpec
DatabaseLawSpec
DatabaseSpec
DenseKeySpec
ExactTokenSpec
FiniteSpec
FixpointSpec
IsoNormSpec
LawProperty
MapAccumSpec
NicheSpec
NumericTests
OrdCollectionSpec
OrderSpec
PatternSpec
ProofManifestSpec
PublicSurfaceSpec
QueueSpec
RelationalSpec
ScalarLawsSpec
SolverTests
SourceShape
StableHashSpec
SubstitutionSpec
SyntaxTests
TermTests
TheorySpec
TotalRegistrySpec
TypeLevelSpec
UnionFindSpec
ValidationSpec
common moonlight-core-benchmark-properties
default-language: GHC2024
ghc-options: -Wall -Wcompat -O2 -rtsopts
default-extensions:
TypeFamilies
build-depends:
base >= 4.22 && < 5
, tasty-bench >= 0.3 && < 0.6
benchmark moonlight-core-basis-bench
import: moonlight-core-benchmark-properties
type: exitcode-stdio-1.0
hs-source-dirs:
bench/basis
bench/support
main-is: Main.hs
other-modules:
BasisBench
BenchSupport
build-depends:
bytestring >= 0.11
, containers >= 0.8
, deepseq >= 1.4
, memory >= 0.18
, moonlight-core
, moonlight-core:moonlight-core-basis
, text >= 2.0
benchmark moonlight-core-numeric-bench
import: moonlight-core-benchmark-properties
type: exitcode-stdio-1.0
hs-source-dirs:
bench/numeric
bench/support
main-is: Main.hs
other-modules:
BenchSupport
NumericBench
build-depends:
bytestring >= 0.11
, moonlight-core
, moonlight-core:moonlight-core-numeric
, moonlight-core:moonlight-core-basis
, scientific >= 0.3
benchmark moonlight-core-syntax-bench
import: moonlight-core-benchmark-properties
type: exitcode-stdio-1.0
hs-source-dirs:
bench/syntax
bench/support
main-is: Main.hs
other-modules:
BenchSupport
SyntaxBench
build-depends:
containers >= 0.8
, moonlight-core
, moonlight-core:moonlight-core-basis
, moonlight-core:syntax
benchmark moonlight-core-solver-bench
import: moonlight-core-benchmark-properties
type: exitcode-stdio-1.0
hs-source-dirs:
bench/solver
bench/support
main-is: Main.hs
other-modules:
BenchSupport
SolverBench
build-depends:
containers >= 0.8
, deepseq >= 1.4
, equivalence >= 0.4
, moonlight-core
, moonlight-core:moonlight-core-solver
, moonlight-core:moonlight-core-basis
, vector >= 0.13
benchmark moonlight-core-term-bench
import: moonlight-core-benchmark-properties
type: exitcode-stdio-1.0
hs-source-dirs:
bench/term
bench/support
main-is: Main.hs
other-modules:
BenchSupport
TermBench
build-depends:
containers >= 0.8
, moonlight-core
, moonlight-core:moonlight-core-term
, vector >= 0.13
benchmark moonlight-core-bench
import: moonlight-core-benchmark-properties
type: exitcode-stdio-1.0
hs-source-dirs:
bench/aggregate
bench/basis
bench/numeric
bench/syntax
bench/solver
bench/term
bench/support
main-is: Main.hs
other-modules:
BasisBench
BenchSupport
NumericBench
SolverBench
SyntaxBench
TermBench
build-depends:
bytestring >= 0.11
, containers >= 0.8
, deepseq >= 1.4
, equivalence >= 0.4
, memory >= 0.18
, moonlight-core
, moonlight-core:moonlight-core-numeric
, moonlight-core:moonlight-core-solver
, moonlight-core:moonlight-core-basis
, moonlight-core:syntax
, moonlight-core:moonlight-core-term
, scientific >= 0.3
, text >= 2.0
, vector >= 0.13