Dylan Thurston wrote:
> > The defining equations are: if flst is a value
> > of a type |FR a|, then
> >     unFR flst f z = z if flst represents an empty list
> >     unFR flst f z = f e (unFR flst' f z)
> >                     if flst represents the list with the head 'e'
> >                     and flst' represents the rest of that list
>
> Presumably you noticed that this is isomorphic to the representation
> of a list in lambda calculus, right?

Sorry I didn't point out the previous discussion and relevant work:

  http://www.haskell.org/pipermail/haskell-cafe/2005-July/010875.html

  http://pobox.com/~oleg/ftp/Computation/Continuations.html#cdr-fstream
        especially the reference therein:
          Corrado Boehm and Alessandro Berarducci: Automatic Synthesis of Typed
          Lambda-Programs on Term Algebras
        
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to