Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
A direct answer to your question of where the name comes from is the paper that introduced Applicative functors, Applicative programming with effects (PDF). Quoting from there: The idea is that ...
Answer
#2: Post edited
- A direct answer to your question of where the name comes from is the paper that introduced Applicative functors, [Applicative programming with effects](https://dl.acm.org/doi/10.1017/S0956796807006326) ([PDF](https://www.staff.city.ac.uk/~ross/papers/Applicative.pdf)). Quoting from there:
- > The idea is that `pure` embeds pure computations into the pure fragment of an effectful world[.]
- I would say this is indeed the intuition many Haskell (and presumably PureScript) programmers have for it.
The intuition is that a type like `F a` for a monad or applicative functor `F` *models* a computation that may have effects. `pure x` then models the "effectful computation" that happens to have no effects and returns `x`, i.e. is pure in the sense of "pure functional programming".
- A direct answer to your question of where the name comes from is the paper that introduced Applicative functors, [Applicative programming with effects](https://dl.acm.org/doi/10.1017/S0956796807006326) ([PDF](https://www.staff.city.ac.uk/~ross/papers/Applicative.pdf)). Quoting from there:
- > The idea is that `pure` embeds pure computations into the pure fragment of an effectful world[.]
- I would say this is indeed the intuition many Haskell (and presumably PureScript) programmers have for it.
- The intuition is that a type like `F a` for a monad or applicative functor `F` *models* a computation that may have effects. `pure x` then models the "effectful computation" that happens to have no effects and returns `x`, i.e. is pure in the sense of "pure functional programming". The "lifting" intuition should also be reasonably clear here. We're "lifting" "pure" computations into the world of effectful computations.
#1: Initial revision
A direct answer to your question of where the name comes from is the paper that introduced Applicative functors, [Applicative programming with effects](https://dl.acm.org/doi/10.1017/S0956796807006326) ([PDF](https://www.staff.city.ac.uk/~ross/papers/Applicative.pdf)). Quoting from there: > The idea is that `pure` embeds pure computations into the pure fragment of an effectful world[.] I would say this is indeed the intuition many Haskell (and presumably PureScript) programmers have for it. The intuition is that a type like `F a` for a monad or applicative functor `F` *models* a computation that may have effects. `pure x` then models the "effectful computation" that happens to have no effects and returns `x`, i.e. is pure in the sense of "pure functional programming".