4 ms·
I strongly disagree, but am sure that that disagreement comes only from us defining terms differently. If you define the term "imperative" widely enough to incl
by nbouscal 12y ago
I strongly disagree, but am sure that that disagreement comes only from us defining terms differently. If you define the term "imperative" widely enough to include Haskell, what language does it not include?
- tel 12y agoI wouldn't claim it excludes many languages. Prolog comes to mind. Imperative, to me, means a language structured over the execution of statements in order. I think that's a fairly common definition.
- nbouscal 12y agoThat still sounds a little weak, but even under that definition, how does Haskell qualify? Do-notation may make things look like statements, but they are still expressions!
- tel 12y agoThey are statements in an embedded language modeled by the monad. The distinction isn't great. Monad allows the implementer to capture linear action if they like. That makes them at least powerful enough to embed Algol.