The goal of this project is to make prototypical implementation of a plugin for the Glasgow Haskell Compiler (GHC), such that the GHC can be used to compile programs that contain an implicit monadic effect.
This plugin only works with GHC 9.2 and cannot be used with other versions.
The plugin has been used to create two example languages.
- One Curry-Style functional logic language curry-ghc-language-plugin
- One strict language with IO side effects (similar to ML) ml-ghc-language-plugin
A fork of this has also been used to create a plugin for automatic function Inversion in Haskell. Details are in this paper and the project can be found at (https://github.com/cau-placc/inversion-plugin).