Skip to content

Generalise the ! and UNPACK mechanism for data types, to unpack function arguments

See this thread:

http://www.nabble.com/More-speed-please!-t3411977.html

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.

Simon

Edited by Simon Peyton Jones
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information