Skip to content

Monad implies Applicative: pure needs to be implemented #74

Description

@kaelte

In order to prove that every Monad is an Applicative we cannot simply use pure to implement (<*>) because pure is a requirement of Applicative, see exercise 3.2:

2. `Monad` extends `Applicative`, because every `Monad` is
also an `Applicative`. Proof this by implementing
`(<*>)` in terms of `(>>=)` and `pure`.

We could use pure if we also implemented pure in terms of (>>=) and join without (<*>).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions