[Haskell-cafe] using haskell for a project
j.waldmann
waldmann at imn.htwk-leipzig.de
Sun May 3 04:01:11 EDT 2009
don't think in terms of modifying state,
think of it as computing new values from old values. I find that the payoff
of learning to think ,like this is massive, as it's usually much easier to
reason about.
</qoute>
Indeed.
[warning: what follows is a rant with a purpose:]
The imperative/OO guys have learnt this as well, and the result comes under
different names, e.g., "a service component should be stateless", "stateless
session bean",
"refactoring: introduce state object".
It's kind of funny how they re-invent functional programming
(in several places, e.g. "composite pattern" = algebraic data type,
"visitor pattern" = fold, "iterator pattern" = lazy list).
... after trying to avoid the truth for some 20 years or so. You're exactly
right,
the functional/declarative way is "much easier to reason about",
and this matches the observation that there was not much reasoning going on
during these decades
instead, just hacking, and then some testing. Well, they even finally
admitted one should
write the tests before coding. Yes, that's called specification before
implementation,
and that's what Dijkstra had been teaching for ages, e.g.,
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD13xx/EWD1305.html
Still, given their strange approach to programming, the imperative/OO guys
have rather brilliant tools
for developers. No surprise, without them they'd be lost immediately.
But we have http://leksah.org/ , and there's a GSoC project for eclipsefp .
[now, the punchline:]
(for extended rants on the subject, register for
http://www.iba-cg.de/hal4.html )
--
View this message in context: http://www.nabble.com/using-haskell-for-a-project-tp23348425p23353526.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
More information about the Haskell-Cafe
mailing list