-
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 and StrictData by default #454
Conversation
Cc: @vdukhovni |
Relating to #412 |
I like |
I know a person who like My motivation is to make it easier to debug memory (or space) leak. Without these pragmas, I need to suspect everything. For performance, we have a profiling. If performance gets poor, we can try adding lazy patterns with profiling. But for memory leak, we don't have good tools at all. |
Is there a space leak in the Network library that motivates these changes? You can find space leaks with cost-centre annotations and tools that report memory use by cost-centre. This is not that difficult. Many space leaks are taken care of via |
I don't know that Even I realized that I can split this PR into three:
I guess that @vdukhovni agrees with 1) and 2). What do other guys think? Please speak up. |
I'm closing this in favor of #457. |
To avoid unexpected behavior, let's use
Strict
andStrictData
for version 4. This PR include:sizeOf
andalignment
whereundefined
is typically passed.undefined
as much as possible.Discussion:
sizeOfSockAddr
returns 0. I don't know why. See 6bff610 for my workaround. Without this commit, the test fails.undefined
s still remain. For instance,siz = sizeOf (undefined :: a)
. We need to check if these do not harm.