Control.Functor.Linear
線形型のFunctor, Applicative, Monadなどが定義されている
code:hs
fmap :: (a %1 -> b) %1 -> f a %1 -> f b
pure :: a %1 -> f a
(<*>) :: f (a %1 -> b) %1 -> f a %1 -> f b
(>>=) :: m a %1 -> (a %1 -> m b) %1 -> m b
return :: Monad m => a %1 -> m a
どれも%1を消せば線形型版じゃない元の関数と全くおなじになるmrsekut.icon