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
scientific method.

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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to