Homomorphic static analysis
Haskell Community [Unofficial]
May 31, 2026
Nice post. @marcosh where do you think relative monads feature in this?
Applicative-wired monad pattern Links
> Oh sure. Essentially a relative monad in Haskell is a type constructor with the following operations: -- f is a functor, but not necessarily an endofunctor class Relative f g where rPure :: g a -> f a rBind :: (g a -> f b) -> f a -> f b with some laws (which are essentially the same as those for regular monads): rBind rPure = id -- left unit rBind f . rPure = f -- right unit rBind f . rBind g = rBind (rBind f . g) -- associativity Every monad is a relative monad if you pick g to be Ident…
Discussion in the ATmosphere