Ticket #1349 (new task)
Generalise the ! and UNPACK mechanism for data types, to unpack function arguments
|Reported by:||simonpj||Owned by:|
|Keywords:||Cc:||id@…, pho@…, bos@…, johan.tibell@…, kolmodin@…, slyfox@…, coreyoconnor@…, illissius@…, hackage.haskell.org@…|
|Type of failure:||None/Unknown||Difficulty:||Unknown|
|Test Case:||Blocked By:|
Description (last modified by simonpj) (diff)
See this thread:
Briefly the idea is to allow
data T = MkT (!Int -> Bool)
to make a MkT hold strict functions only. Anyone unpacking a MkT can assume the function is strict; and anyone building a MkT gets a strictness wrapper aound whatever function they supply, so even if they supply a lazy function, it's made strict.
Seems like a natural generalisation of the existing strictness and UNPACK mechanism for data types.
Lots of details in the thread above.