Journal de Chaource's Journal
 
[Most Recent Entries] [Calendar View]

Tuesday, May 29th, 2018

    Time Event
    3:01a
    Applicative profunctors
    Just realized that non-functor profunctors can be applicative in a natural way. For example, `f` defined as

    f a = (a, (a, a) -> a)

    is a type constructor that is neither a functor nor a contrafunctor, but it looks like there is a lawful instance of applicative for f.

    The `pure` is defined by

    pure x = (x, _ -> x)

    The monoidal product method is defined by

    product :: (f a, f b) -> f (a, b)
    product ((xa, qa), (xb, qb)) = ((xa, xb), \((a1, b1), (a2, b2)) -> (qa (a1, a2), qb (b1, b2))

    Previously I have seen that a nonconstant contrafunctor cannot have a method of type f (a, b) -> (f a, f b). So, it is not to be expected that a profunctor would have such a method either.

    << Previous Day 2018/05/29
    [Calendar]
    Next Day >>

Journal de Chaource   About LJ.Rossia.org