fixed point
Harris, Andrew
Andrew.Harris at jhuapl.edu
Fri Oct 31 11:15:40 EST 2003
Hi -
I am trying to work out how the following function using "fix" is
evaluated. I am hoping someone could look at my step-by-step breakdown of
how I think evaluation works and see if I'm correct. My main question is
how the order of operation (fixity?) is understood in going from step [3] to
[4], if this is indeed how the evaluation would take place.
Any help is appreciated,
-andrew
Here's the Haskell function:
---
fix f = f (fix f)
wierdFunc2 x y z = if y - z > z then x (y-z) z
else y - z
myRemainder = fix wierdFunc2
---
Here's my "evaluation":
myRemainder 12 5 -- [1]
=
fix wierdFunc2 12 5 -- [2] by substitution
=
wierdFunc2 fix wierdFunc2 12 5 -- [3] apply "fix"
=
wierdFunc2 myRemainder 12 5 -- [4] by substitution (?)
=
myRemainder 7 5 -- [5] apply "wierdFunc2"
=
fix wierdFunc2 7 5 -- [6] by substitution
=
wierdFunc2 fix wierdFunc2 7 5 -- [7] apply "fix"
=
wierdFunc2 myRemainder 7 5 -- [8] by substitution (?)
=
2 -- [9] apply "wierdFunc2"
More information about the Haskell-Cafe
mailing list