[Haskell-cafe] Optimization with Strings ?
echant+haskell at maretmanu.org
Thu Dec 3 10:23:56 EST 2009
Le Thu, 3 Dec 2009 13:20:31 +0100,
David Virebayre <dav.vire+haskell at gmail.com> a écrit :
> It doesn't work this way : Strings are just lists of Chars. Comparison
> is made recursively, Char by Char. You can have a look at the source
> to make sure :
> instance (Eq a) => Eq [a] where
>  ==  = True
> (x:xs) == (y:ys) = x == y && xs == ys
> _xs == _ys = False
Thank you David and Bulat for your answers.
I don't see the proof you see. Because GHC could store two sames
objects juste once and by the definition of == on lists it could deduce
that "forall x; List x => x==x". GHC have all informations to do this
optimization job, because haskell functions definitions are mathematics
Bulat says that this optimization is not done, so I will do it by my
hands (ho my poor lazy hands).
More information about the Haskell-Cafe