[Haskell-cafe] strict version of Haskell - does it exist?

Chris Wong chrisyco+haskell-cafe at gmail.com
Sun Jan 29 23:12:25 CET 2012


On Mon, Jan 30, 2012 at 10:13 AM, Marc Weber <marco-oweber at gmx.de> wrote:
> A lot of work has been gone into GHC and its libraries.
> However for some use cases C is still preferred, for obvious speed
> reasons - because optimizing an Haskell application can take much time.

As much as any other high-level language, I guess. Don't compare
apples to oranges and complain oranges aren't crunchy enough ;)

> Is there any document describing why there is no ghc --strict flag
> making all code strict by default?

Yes -- it's called the Haskell Report :)

GHC does a lot of optimization already. If making something strict
won't change how it behaves, it will, using a process called
strictness analysis.

The reason why there is no --strict flag is that strictness isn't just
something you turn on and off willy-nilly: it changes how the whole
language works. Structures such as infinite lists and Don Stewart's
lazy bytestrings *depend* on laziness for their performance.

> Wouldn't this make it easier to apply Haskell to some additional fields
> such as video processing etc?
>
> Wouldn't such a '--strict' flag turn Haskell/GHC into a better C/gcc
> compiler?

See above.

> Projects like this: https://github.com/thoughtpolice/strict-ghc-plugin
> show that the idea is not new.

Not sure what that does, but I'll have a look at it.

> Eg some time ago I had to do some logfile analysis. I ended doing it in
> PHP because optimizing the Haskell code took too much time.

That probably because you're using linked lists for strings. For
intensive text processing, it's better to use the text package instead
[1]

Chris

[1] http://hackage.haskell.org/package/text

> Marc Weber
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list