haskell - Polymorphic self application -
i have example of system f plymorphism don't understand: 
if remove types remain: \f.\a.f (f a) makes no sense.
can me this? thank you!
the erased term make sense: in haskell \f -> f (f a), ordinary function applies first argument second, , again result.
the difference between \f -> <body> , \f.\a. <body> 1 of notation. if prefer, write haskell term \f -> \a -> f (f a), equivalent syntactically bit closer erased system f.
(note double not self application, \f -> f f.)
Comments
Post a Comment