Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- knownStrategies :: TacticsM ()
- known :: String -> TacticsM () -> TacticsM ()
- deriveFmap :: TacticsM ()
- deriveMappend :: TacticsM ()
- deriveMempty :: TacticsM ()
Documentation
knownStrategies :: TacticsM () Source #
deriveFmap :: TacticsM () Source #
deriveMappend :: TacticsM () Source #
We derive mappend by binding the arguments, introducing the constructor, and then calling mappend recursively. At each recursive call, we filter away any binding that isn't in an analogous position.
The recursive call first attempts to use an instace in scope. If that fails, it fals back to trying a theta method from the hypothesis with the correct name.