cabal-version: 3.0 name: polytropos-plugin version: 0.1.0.0 synopsis: TcPlugin that emits literal evidence for Polytropos row classes description: A GHC typechecker plugin for that solves the evidence-class constraints ('Polytropos.Core.FieldIndex', 'Polytropos.Core.ConstructorIndex', 'Polytropos.Core.RowEq', 'Polytropos.Core.RowShow', 'Polytropos.Core.RowEqSum', 'Polytropos.Core.RowShowSum', 'Polytropos.Core.AllFields') by inspecting the row carried in a 'Polytropos.Core.RowRep''s type and emitting literal slot indices, tags, and dictionary vectors directly into GHC Core AST — eliminating inductive type-level search and pointer-chasing runtime overhead entirely. Uses the library for a streamlined interface to GHC's typechecker plugin API across compiler versions. Start at the front door module "Polytropos.Plugin" for complete usage instructions and worked examples. Enable in consuming packages via: @ghc-options: -fplugin=Polytropos.Plugin@. license: EUPL-1.2 OR Apache-2.0 license-file: LICENSE author: Nadia Yvette Chambers maintainer: nadia.yvette.chambers@ik.me category: Compiler Plugin homepage: https://github.com/NadiaYvette/polytropos bug-reports: https://github.com/NadiaYvette/polytropos/issues extra-doc-files: README.md , CHANGELOG.md source-repository head type: git location: https://github.com/NadiaYvette/polytropos subdir: packages/polytropos-plugin common warnings ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -Wunused-packages library import: warnings exposed-modules: Polytropos.Plugin , Polytropos.Plugin.Source other-modules: Polytropos.Plugin.Compat hs-source-dirs: src default-language: GHC2021 build-depends: base >= 4.18 && < 4.23 , ghc >= 9.6 && < 9.15 , ghc-tcplugin-api >= 0.1 && < 0.21 test-suite polytropos-plugin-smoke import: warnings type: exitcode-stdio-1.0 hs-source-dirs: tests/smoke main-is: Main.hs default-language: GHC2021 build-depends: base >= 4.18 && < 4.23 , polytropos-core , primitive , tasty >= 1.4 && < 1.6 , tasty-hunit >= 0.10 && < 0.11 , polytropos-plugin , process , filepath , directory ghc-options: -fplugin=Polytropos.Plugin