At 2003-08-03 14:09, Ben Rudiak-Gould wrote: >This reduction is incorrect. Auto-lifted parameters on the RHS of an >application get lifted out
I am interpreting this as "Auto-lifted parameters on the RHS of an application get lifted out before [EMAIL PROTECTED] 'beta'-reduction can be done". I think this is ambiguous: ((\a -> ((a,?x) [EMAIL PROTECTED] = 2})) ?x,?x) [EMAIL PROTECTED] = 1} ((\a -> ((a,[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 2})) ([EMAIL PROTECTED] -> @x),[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 1} 1. (([EMAIL PROTECTED] -> @x,[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 2},[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 1} (([EMAIL PROTECTED] -> (@x,@x)) [EMAIL PROTECTED] = 2},[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 1} ((2,2),[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 1} ([EMAIL PROTECTED] -> ((2,2),@x)) [EMAIL PROTECTED] = 1} ((2,2),1) 2. ([EMAIL PROTECTED] -> ((\a -> ((a,[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 2})) @x,@x)) [EMAIL PROTECTED] = 1} ((\a -> ((a,[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 2})) 1,1) (((1,[EMAIL PROTECTED] -> @x) [EMAIL PROTECTED] = 2}),1) ((([EMAIL PROTECTED] -> (1,@x)) [EMAIL PROTECTED] = 2}),1) ((1,2),1) A simpler query: what types can f have here? Which if any should the compiler infer? f a b = (a,b) [EMAIL PROTECTED] = 2} And given that type, which of these are valid? f ?x ?x f ?x 1 f 1 ?x f 1 1 -- Ashley Yakeley, Seattle WA _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell