strict bits of datatypes
John Meacham
john at repetae.net
Fri Mar 16 14:28:11 EDT 2007
On Fri, Mar 16, 2007 at 05:00:15PM +0000, Jón Fairbairn wrote:
> Does it? Mentally I translate that as
>
> let q = Y (\q -> FinCons 3 q) in q
>
but it would actually translate to
> let q = Y (\q -> q `seq` FinCons 3 q) in q
for strict fields, whenever a constructor appears, it is translated to
one which seq's its strict fields before creating the constructor.
so,
FinCons 3 q
desugars to
q `seq` FinCons 3 q wherever it appears,
strict fields have no effect on deconstructing data types.
John
--
John Meacham - ⑆repetae.net⑆john⑈
More information about the Haskell-prime
mailing list