9 ms·
You meant Arrows http://www.haskell.org/arrows/ http://www.haskell.org/arrows/
by elliotlai 13y ago
You meant Arrows
http://www.haskell.org/arrows/ http://www.haskell.org/arrows/
- evincarofautumn 13y agoI might be wrong, but I think a concatenative language can’t be represented using only arrows, because arrows aren’t sufficient to express dynamic function application. You can think of monads as arrows with the “bind” function of a type like (a × (a → b) → b). That’s precisely the type of the common concatenative “apply” combinator that lets you do anything useful. The lifting of application is what allows you to treat terms (objects) as actions (morphisms). Without it or an equivalent combinator, you can’t write context-sensitive computations or manipulate concatenative quotations in any meaningful way.