Am Dienstag 15 Dezember 2009 21:50:22 schrieb Johann Höchtl:
> It's b, compiled without optimisations.
Don't do that. Maybe if you have huge projects with large compile times. But
optimisations, small variations can incur huge performance costs (as we see
> > If a) or b), it's because the second has one more function call per list
> > element, first ($!) is called and then seq via that, while the first
> > calls seq directly.
> Ah, ok, I was not aware that this is realy a function call. I thought
> this is syntactic sugar only and would be rewritten into a call to
> `seq`. I think to much of a macro in this case.
It's a real function, defined in Haskell. Unfortunately, without -O, ghc is not
inline across module boundaries. It would be inlined within the same module.
seq is a primitive from GHC.prim, thus it's special and doesn't produce a
Haskell-Cafe mailing list