[Haskell-cafe] Tutorial: Haskell for the Evil Genius
conal at conal.net
Sat Sep 15 22:48:03 CEST 2012
On Fri, Sep 14, 2012 at 2:18 PM, Andrew Pennebaker wrote:
> A summary of the changes I've included so far:
> Another comment:
>> "As a declarative language, Haskell manipulates expressions, eventually
>> reducing expressions to values."
>> Huh? In what sense do declarative languages manipulate expressions?
>> Sounds like a classic syntax/semantics confusion, especially when
>> interpreters and/or lazy evaluation (implementation issues, not language
>> properties) are in the mix.
> Noted and reflected in the new version.
> I'm trying to introduce the concept of declarative programming as opposed
> to imperative programming. Declarative programming according to Wikipedia<http://en.wikipedia.org/wiki/Declarative_programming>
> is a programming paradigm that expresses the logic of a computation
>> without describing its control flow.
> I believe this is done in Haskell and other declarative languages by
> treating code as manipulable, reducible expressions, where imperative
> languages would use machine instructions.
I'm struggling to find anything in this belief/opinion that I can relate
to. How did you come by it? What experiments can you perform to check
whether it's true or false? I second Albert Lai's recommendation to use the
Along these lines, I still see "Haskell manipulates reducible expressions,
eventually reducing them to values" in your tutorial, which again I suspect
comes from confusion between syntax & semantics and/or between meaning and
possible execution strategy.
Regards, - Conal
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe