k0001 / di

Easy and powerful typeful logging without monad towers, in Haskell.
26 stars 5 forks source link

di-monad: Add a MonadDi' with fully polymorphic support for localDiT? #27

Open k0001 opened 6 years ago

k0001 commented 6 years ago

Not sure if this is possible from a practical point of view. Maybe something like this?

class (MonadDi level' path' msg' m', MonadDi level path msg m)
   => MonadDi level' level path' path msg' msg m' m 
      | m -> level path msg
      , m' -> level' path' msg
      , m level' path' msg' -> m'
      , m' level path msg -> m
   where
   local' = ... the type of localDiT ...

Just saying. I'm not sure this even is a good idea.