Thank you all for your excellent comments.

I was aware of Hughe's technique and the 'whyfp' paper.

I had often thought that some kind of iteration would be necessary to reolve this, and to overcome initially this I was cheating and using one of the values one step late in order to break the closed cycle of references, in my C and Prolog protype versions.

This cheat bothered me to the extent that I decided to fix it and that is when I decided that I might be missing the boat, and Haskell might have a built in solution to closed sets of references.

But I see now in retrospect that this was a misguided (could I say silly ?  ;-)   notion and that indeed some kind of numerical algorithm will have to be effected to get the 'pure' solution.

Again, many thanks to all, and I learned something valuable.

My faith in Haskell and FP has been restored (assuming it ever did actually waiver)

cheers,

-Mike