News for hackers. Stuff that matters.
Re:Why Concatenative Programming Matters (2012) by elliotlai on Saturday April 13, 2013 @04:05AM (#5542891)
Re:Why Concatenative Programming Matters (2012) by evincarofautumn on Saturday April 13, 2013 @04:18AM (#5542899)
I 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.