Most examples of the use of fixed point combinators involve functions that take integers to integers (e.g. factorial). In many cases the fixed point of a function over the real numbers will end up being an arbitrary rational or perhaps irrational number (a famous example is the logistic map http://en.wikipedia.org/wiki/Logistic_map). In these cases the fixed point may not be expressed in terms of primitive types (note though that Clojure does have support for ratios). I am interested in finding out about fixed point combinators (and their implementation!) that can compute fixed points of functions over these "exotic" types. Inasmuch as things like irrational numbers have decimal representation as infinite sequences, it seems like this computation must be evaluated lazily. Do any of these (putative) lazy evaluations yield good approximations to the true fixed points? My target languages are Python and Clojure, but I certainly wouldn't mind seeing any OCaml or Haskell implementations).
+1
A:
You will find such function that compute fixed points on Andrej Bauer's blog; for example seemingly impossible programs and infinite search in finite time. That's for the case where the fixed point is actually at a 'finite distance', so that it will be reached.
Some of the fixed points you are talking about are not of this sort, as they really are 'infinitely far away'. These are the types of fixed points which are used in Computable Analysis. Basically the theory there is all about how to obtain good approximations to the fixed point.
Jacques Carette
2010-07-17 16:39:43