
27 Jul
2007
27 Jul
'07
1:40 a.m.
On 7/26/07, Tim Chevalier
To elaborate on that, the different behavior between the two versions of Dan's code, one with and one without a type signature, happens because f compiles like so if the type signature isn't given (this is the STG code):
f_ri5 = \u [] let-no-escape { f1_sPY = NO_CCS[] \u [] f1_sPY; } in f1_sPY; SRT(f_ri5): []
Also (talking to myself), in the lambda-form that is the rhs of f1_sPY above, shouldn't f1_sPY be contained in the free-variable list for itself? Cheers, Tim -- Tim Chevalier* catamorphism.org *Often in error, never in doubt "Programming is like sex; one mistake and you have to support for a lifetime." -- anonymous