-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using strict language extension #412
Comments
We should probably formulate some realistic benchmarks before introducing a change of this nature. |
SPJ helped me to understand what's going on. This is not a bug of https://github.com/kazu-yamamoto/network/tree/strict |
|
I should explain this. The purpose of this PR is to let us convinced that space leaks are not due to lazy evaluation when they occurs. This PR might not improve heap profiling but would save our souls very much. I'm very tired from finding sources of space leaks due to lazy evaluation for last 10 years. |
In my opinion, network programming in Haskell should use strict evaluation except
atomicModifiyIORef'
, to avoid space leak.Strict
andStrictData
language extension are introduced in GHC 8.0 and it's days of GHC 8.6. So, it's good time to introduce them tonetwork
.For this purpose, all
undefined
should be removed. It's very easy. But during this work, I experienced thatundefined
are evaluated even if they are removed from the source code. The reason is here: https://gitlab.haskell.org/ghc/ghc/issues/16810When such inlinable functions are fixed in GHC 8.8, I would like to add the following to
network.cabal
:The text was updated successfully, but these errors were encountered: