On Mon, May 21, 2012 at 7:53 AM, Yves Parès <yves.pa...@gmail.com> wrote: >> Not necessarily. For example the 'nub' function from Data.List could be >> much faster. Unfortunately this would also change its type. O(n²) >> complexity is really the best you can get with the Eq constraint. > > Why not in that kind of cases provide a second function (named differently), > together with the original function, and specify they're differences (i.e. > wrt performances) in the doc? > It seems like a pretty quick and honest trade-off to me.
WRT nub, Bart Massey did exactly this in his "nubOrd" proposal. He obtained consensus then failed to finish the ticket [1]. If this particular case is of interest to you or anyone else then I suggest you take the patches, re-propose and see it finished. If you are interested in this general category of issue, I think this is a case study in how costly even our seemingly light weight proposals process is in terms of proposer time investment. Cheers, Thomas [1] http://hackage.haskell.org/trac/ghc/ticket/2717 > > 2012/5/21 Ertugrul Söylemez <e...@ertes.de> >> >> Ryan Newton <rrnew...@gmail.com> wrote: >> >> > I do think we have the opposite problem, however, in much Haskell code >> > -- people are using the clean, obviously correct, but inefficient code >> > even in standard library functions that really should be optimized >> > like crazy! >> >> Not necessarily. For example the 'nub' function from Data.List could be >> much faster. Unfortunately this would also change its type. O(n²) >> complexity is really the best you can get with the Eq constraint. You >> have to change to Ord for better performance. >> >> In other words: Some optimizations change the semantics, and semantics >> is taken very seriously in Haskell, for which I'm grateful. >> >> >> Greets, >> Ertugrul >> >> -- >> Key-ID: E5DD8D11 "Ertugrul Soeylemez <e...@ertes.de>" >> FPrint: BD28 3E3F BE63 BADD 4157 9134 D56A 37FA E5DD 8D11 >> Keysrv: hkp://subkeys.pgp.net/ >> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe >> > > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe