InterviewSolution
| 1. |
What Is A Fixed-point Of A High Order Function? |
|
Answer» Whereas a FIXED-point of a first-order function (a function on "simple" values such as integers) is a first-order value, a fixed point of a higher-order function F is ANOTHER function f-fix such that F(F-fix) = F-fix. A fixed point operator is a function FIX which produces such a fixed point f-fix for any function F: FIX(F) = F-fix. Therefore: F( FIX(F) ) = FIX(F). Fixed point combinators allow the definition of anonymous recursive functions. Somewhat surprisingly, they can be defined with non-recursive lambda ABSTRACTIONS. Whereas a fixed-point of a first-order function (a function on "simple" values such as integers) is a first-order value, a fixed point of a higher-order function F is another function f-fix such that F(F-fix) = F-fix. A fixed point operator is a function FIX which produces such a fixed point f-fix for any function F: FIX(F) = F-fix. Therefore: F( FIX(F) ) = FIX(F). Fixed point combinators allow the definition of anonymous recursive functions. Somewhat surprisingly, they can be defined with non-recursive lambda abstractions. |
|