VE7QTPXHFI2SKUADFYESQPELRZZF2JQRPLTFI4TL6J2PALARUO7QC module Algebra.Applicativeimport Builtinimport Algebra.Functor%default totalinfixr 8 <*>public exportinterface Functor t => Applicative t wherepure : a -> t a(<*>) : t (a -> b) -> t a -> t bproofIdentity : (x : t a) -> pure Builtin.identity <*> x = xproofComposition : (f : t (a -> b)) -> (g : t (b -> c)) -> (x : t a)-> ((pure (.) <*> g) <*> f) <*> x = g <*> f <*> xproofHomomorphism : (f : a -> b) -> (x : a) -> pure f <*> pure x = pure (f x)proofInterchange : (f : t (a -> b)) -> (x : a) -> f <*> pure x = pure ($ x) <*> f