
16 Sep
2020
16 Sep
'20
7:39 p.m.
We also have diag = join bipure and (in pseudo-Haskell) diag = unJoin . pure where newtype Join f a = Join { unJoin :: f a a } deriving (Functor) deriving instance Biapplicative f => Applicative (Join f) The latter seems on its face potentially related to the instance for lists of fixed length, but i am not sure how deep the connection may be.