OK, I think I went off on a tangent that isn't very useful anyway thanks -Keith
On Wed, Jun 17, 2009 at 6:32 PM, Lennart Augustsson<[email protected]> wrote: > The creators of Haskell didn't pick any particular representation for numbers. > (Well, literals are kind of In..tegers.) You can pick what types you > make instances of Num. > Some of them are lazy, some of them are strict. > > On Wed, Jun 17, 2009 at 11:05 PM, Keith Sheppard<[email protected]> wrote: >> In lambda calculus numbers are just functions and you evaluate them >> just like any other function. Haskell could have chosen the same >> representation for numbers and all evaluation on numbers would be lazy >> (assuming normal order evaluation). I think that would have been the >> "Purist Lazy" way to go. That is not the way the creators of Haskell >> designed language though... am i missing something? >> >> On Wed, Jun 17, 2009 at 4:05 PM, Lennart >> Augustsson<[email protected]> wrote: >>> What do you mean by "literals are strict"? Strictness is a semantic >>> property of functions, and while literals can be overloaded to be >>> functions I don't know what you mean. >>> >>> On Wed, Jun 17, 2009 at 9:50 PM, Keith Sheppard<[email protected]> wrote: >>>> Haskell's numeric literals are strict. You wouldn't want that to >>>> change right? It seems to me that having sum and product be strict is >>>> consistent with this. >>>> >>>> -Keith >>>> >>>> On Wed, Jun 17, 2009 at 11:15 AM, Thomas Davie<[email protected]> wrote: >>>>> >>>>> On 17 Jun 2009, at 13:32, Yitzchak Gale wrote: >>>>> >>>>>> Henk-Jan van Tuyl wrote: >>>>>>> >>>>>>> reverse >>>>>>> maximum >>>>>>> minimum >>>>>> >>>>>> Oh yes, please fix those also! >>>>> >>>>> import Prelude.Strict? >>>>> >>>>> Honestly, these functions are ones that I've *deffinately* used lazy >>>>> versions of, in fact, in the cases of minimum/maximum I've even used ones >>>>> that are super-lazy and parallel using unamb. >>>>> >>>>> It would be extremely odd to randomly decide "most people would want this >>>>> to >>>>> be strict" based on no knowledge of what they're actually doing. Instead, >>>>> why don't we stand by the fact that haskell is a lazy language, and that >>>>> the >>>>> functions we get by default are lazy, and then write a strict prelude as I >>>>> suggest above to complement the lazy version. >>>>> >>>>> Bob >>>>> _______________________________________________ >>>>> Haskell-Cafe mailing list >>>>> [email protected] >>>>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>>>> >>>> >>>> >>>> >>>> -- >>>> keithsheppard.name >>>> _______________________________________________ >>>> Haskell-Cafe mailing list >>>> [email protected] >>>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>>> >>> >> >> >> >> -- >> keithsheppard.name >> _______________________________________________ >> Haskell-Cafe mailing list >> [email protected] >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> > -- keithsheppard.name _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
