
16 Mar
2007
16 Mar
'07
2:28 p.m.
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⑈