[Haskell-cafe] Re: There can be only one fix? Pondering Bekic's lemma

oleg at pobox.com oleg at pobox.com
Tue Mar 20 01:04:04 EDT 2007


Nicolas Frisby wrote:
> My question is: Given products and a fixed point combinator, can any
> pure expression be transformed into a corresponding expression that
> has just a single use of fix?

Albert Y. C. Lai pointed out model-theoretical and CPU-practical
answers. There is also a Haskell-automatic answer. That is,
polyvariadic fixpoint, a combinator to obtain a mutually least
fixpoint of several terms, is expressible in Haskell itself, via the regular
fix:
  http://okmij.org/ftp/Computation/fixed-point-combinators.html#Poly-variadic
I like its inferred type
	fix':: [[a->b]->a->b] -> [a->b]
which is truly the type of the (applicative, or eta-expanded) regular
fix with some round parentheses replaced with square ones.



More information about the Haskell-Cafe mailing list