├── .github └── workflows │ └── ci.yml ├── .gitignore ├── cabal.project ├── changelog.md ├── examples ├── EqSat │ ├── cabal.project │ ├── eq-sat.cabal │ └── src │ │ └── EqSat │ │ ├── Examples.hs │ │ └── Plugin.hs ├── RewriterPlugin │ ├── RewriterPlugin.cabal │ ├── cabal.project │ ├── examples │ │ └── RewriterPlugin │ │ │ └── Examples │ │ │ ├── Fail1.hs │ │ │ ├── Fail2.hs │ │ │ ├── Fail3.hs │ │ │ ├── Fail4.hs │ │ │ └── Pass.hs │ └── plugin │ │ ├── RewriterPlugin.hs │ │ └── RewriterPlugin │ │ └── Definitions.hs └── SystemF │ ├── cabal.project │ ├── src │ └── SystemF │ │ ├── Examples.hs │ │ ├── Plugin.hs │ │ ├── Plugin │ │ └── Test.hs │ │ ├── Term.hs │ │ ├── Term │ │ ├── Evaluation.hs │ │ └── Substitution.hs │ │ └── Type.hs │ └── system-f.cabal ├── ghc-tcplugin-api.cabal ├── img └── substitution_calculus.png ├── readme.md └── src └── GHC └── TcPlugin ├── API.hs └── API ├── Internal.hs ├── Internal ├── Shim.hs └── Shim │ └── Reduction.hs ├── Names.hs └── TyConSubst.hs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist-newstyle/ 2 | cabal.project.local 3 | hie.yaml -------------------------------------------------------------------------------- /cabal.project: -------------------------------------------------------------------------------- 1 | packages: . 2 | 3 | documentation: True -------------------------------------------------------------------------------- /changelog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/changelog.md -------------------------------------------------------------------------------- /examples/EqSat/cabal.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/EqSat/cabal.project -------------------------------------------------------------------------------- /examples/EqSat/eq-sat.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/EqSat/eq-sat.cabal -------------------------------------------------------------------------------- /examples/EqSat/src/EqSat/Examples.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/EqSat/src/EqSat/Examples.hs -------------------------------------------------------------------------------- /examples/EqSat/src/EqSat/Plugin.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/EqSat/src/EqSat/Plugin.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/RewriterPlugin.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/RewriterPlugin.cabal -------------------------------------------------------------------------------- /examples/RewriterPlugin/cabal.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/cabal.project -------------------------------------------------------------------------------- /examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail1.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail1.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail2.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail3.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail3.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail4.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/examples/RewriterPlugin/Examples/Fail4.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/examples/RewriterPlugin/Examples/Pass.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/examples/RewriterPlugin/Examples/Pass.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/plugin/RewriterPlugin.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/plugin/RewriterPlugin.hs -------------------------------------------------------------------------------- /examples/RewriterPlugin/plugin/RewriterPlugin/Definitions.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/RewriterPlugin/plugin/RewriterPlugin/Definitions.hs -------------------------------------------------------------------------------- /examples/SystemF/cabal.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/cabal.project -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Examples.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Examples.hs -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Plugin.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Plugin.hs -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Plugin/Test.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Plugin/Test.hs -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Term.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Term.hs -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Term/Evaluation.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Term/Evaluation.hs -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Term/Substitution.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Term/Substitution.hs -------------------------------------------------------------------------------- /examples/SystemF/src/SystemF/Type.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/src/SystemF/Type.hs -------------------------------------------------------------------------------- /examples/SystemF/system-f.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/examples/SystemF/system-f.cabal -------------------------------------------------------------------------------- /ghc-tcplugin-api.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/ghc-tcplugin-api.cabal -------------------------------------------------------------------------------- /img/substitution_calculus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/img/substitution_calculus.png -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/readme.md -------------------------------------------------------------------------------- /src/GHC/TcPlugin/API.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/src/GHC/TcPlugin/API.hs -------------------------------------------------------------------------------- /src/GHC/TcPlugin/API/Internal.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/src/GHC/TcPlugin/API/Internal.hs -------------------------------------------------------------------------------- /src/GHC/TcPlugin/API/Internal/Shim.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/src/GHC/TcPlugin/API/Internal/Shim.hs -------------------------------------------------------------------------------- /src/GHC/TcPlugin/API/Internal/Shim/Reduction.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/src/GHC/TcPlugin/API/Internal/Shim/Reduction.hs -------------------------------------------------------------------------------- /src/GHC/TcPlugin/API/Names.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/src/GHC/TcPlugin/API/Names.hs -------------------------------------------------------------------------------- /src/GHC/TcPlugin/API/TyConSubst.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sheaf/ghc-tcplugin-api/HEAD/src/GHC/TcPlugin/API/TyConSubst.hs --------------------------------------------------------------------------------