I see some tweets about "post-functional" as if functional were a cute trick that is passe. The world is already post-functional: imperative is post-functional: the lambda calculus is older than it all. Functional is not a cute trick: it is a profound consequence of Curry-Howard.
-
Show this thread
-
Replying to @keithtpinson
Imperative is not a cute trick: it is a consequence of Russell-Whitehead, which predates the lambda calculus.
3 replies 0 retweets 5 likes -
Replying to @Ngnghm
Then why do imperative languages tend to be an amalgamation of cute tricks?
1 reply 0 retweets 0 likes -
Replying to @keithtpinson
Bias in the observer. Bias in the observed. Correlation that isn't causation. Just because most languages suck, and most language happen to be "imperative", doesn't mean that "imperative" necessarily sucks.
1 reply 0 retweets 5 likes -
Replying to @Ngnghm
I have never been presented with a small, clean, sound conceptual model of imperative. If that exists, I would like to know. What you described of Whitehead-Russell sounds fascinating but not small.
2 replies 0 retweets 0 likes -
Replying to @keithtpinson
Have a look at the denotational semantics of Scheme, part of the RnRS. It's quite small. It beats defining and using monads in Haskell in terms of size, the admittedly Haskell gives you some control in exchange of the price you pay.
1 reply 0 retweets 2 likes -
Replying to @Ngnghm
Interesting, thanks. I thought Scheme was functional language though? Isn't it a Lisp? But, perhaps you are saying, that its approach to effects is imperative, and is therefore not giving expression to Curry-Howard.
1 reply 0 retweets 1 like
Scheme can reasonably be called "functional" (which would be a stretch for e.g. Common Lisp), but then again not "pure functional". Mutable state and first-class continuations are everywhere. Actually, you can implement mutable cells with just letrec and call/cc.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!