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