Subject:  Re: [Haskellcafe] Re: Why? 

From:  Gregg Reynolds 
Date:  Thu, 10 Dec 2009 12:36:58 0600 
On Thu, Dec 10, 2009 at 11:16 AM, John D. Earle <[email protected]> wrote:
Hi John, I'd say algebra is mostly concerned with equalities and substitutions and doesn't much care about functions.Â The equation for a circle is not a function but that doesn't mean we can't use algebra to manipulate it.Â Algebras might use the concept of function but they are not necessarily _about_ functions.Â One could even argue that the lambda calculus isn't "about" functions  it's just a calculus, after all.Â Haskell goes by the rules of that calculus; whether the expressions involved denote functions is not relevant.Â The computer is just performs symbol calculus.Â Generally all formal semantics can be reduced to syntactic calculus as far as I can see. Â
Â Except when you're not.Â IO operations are never functions, for example, so IO expressions never denote functions.Â FP languages do not (and cannot) eliminate the side effectful nature of such operations; the best they can do is what Haskell does, namely circumscribe them so that they are wellbehaved and thus can be properly managed (algebraically).Â But that doesn't make them functions.Â So for me at least "algebraic" better describes how Haskell works; what you're working with is expressions and you reason about them algebraically.ÂÂ You can do this reliably not because everything is a function but because nonfunctions are wellbehaved. Â
No argument there.Â But the expressive power that comes with firstclass functions is not what distinguishes Haskell et al.  lots of nonFP languages support them these days.
Sure, but that's only possible because the properties of programs are provable, which is what makes it possible to reliably transform a program into an equivalent but more efficient form. Gregg _______________________________________________ HaskellCafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskellcafe 
<Prev in Thread]  Current Thread  [Next in Thread> 


Previous by Date:  [Haskellcafe] Re: Why?, John D. Earle 

Next by Date:  Re: [Haskellcafe] Re: Why?, Ketil Malde 
Previous by Thread:  [Haskellcafe] Re: Why?, John D. Earle 
Next by Thread:  Re: [Haskellcafe] Why?, Sebastian Sylvan 
Indexes:  [Date] [Thread] [Top] [All Lists] 