dorchard / effect-monad

Provides 'graded monads' and 'parameterised monads' to Haskell, enabling fine-grained reasoning about effects.
BSD 2-Clause "Simplified" License
99 stars 11 forks source link

Misaligned invariant in ParameterisedAsGraded ? #18

Open jmatsushita opened 3 years ago

jmatsushita commented 3 years ago

The paper states:

We use the Inv constraint family to force the target type of the left morphism to match the source type of the right morphism.

So shouldn't the Inv type read:

type Inv T (M a b) (M c d) = b ~ c