grapefruit-frp-0.0.0.0: src/Internal/Capsule.hs
module Internal.Capsule (
Capsule (Capsule)
) where
-- Control
import Control.Applicative as Applicative
-- Don’t use newtype since this would defeat the purpose of Capsule.
data Capsule val = Capsule val
instance Functor Capsule where
fmap fun (Capsule val) = Capsule (fun val)
instance Applicative Capsule where
pure = Capsule
Capsule fun <*> Capsule arg = Capsule (fun arg)