
21 Mar
2007
21 Mar
'07
2:08 a.m.
"Matthew Brecknell"
As others have pointed out, fix is polymorphic, so "a" can stand for any type, including "(b -> c)". Removing redundant parentheses, this means fix can directly specialise to:
fix :: ((b -> c) -> b -> c) -> b -> c
I understand now. I think part of my problem was that I was trying to grasp one too many new things all at once. This makes perfect sense. Thanks, Pete