I'm exploring Liquid Haskell a bit further because it seems fun
monad is a monoid in the category of endofunctors? #
a monad = monoid in End(C) π ?
Obj: endofunctors F : C β C
Arr: natural transformations Ξ· : Id β F, ΞΌ : FΒ² β F
liquidPluginβs MonadIO m context plays F,
with return/pure = Ξ·, >>= = ΞΌ. πΉπ
π, in
liquidPlugin :: MonadIO m => [CmdOpt] β a β (Config β m a) β m a:
- F =
Ξ» X β m X(the monadic functor) πΉ - Ξ· =
return def/pure(wrap a value intom) πͺ’ - ΞΌ =
>>=(bind) for sequencing(Config β m a) β m aπ
#maybe
[CmdOpt] β ModSummary β ParsedResult β Hsc ParsedResult β fold + action pattern.
(opts, ms, pr) β Opts Γ Meta Γ AST πΉ
f : O Γ M Γ A β Hsc A β combine context β transform state π
- Previous: Google Summer of Code 2026
- Next: MiΓ©rt kell a toposzhoz f = g>>h ?