[Haskell] refactoring, catamorphism, termination of programs

Johannes Waldmann waldmann at imn.htwk-leipzig.de
Tue May 1 13:45:34 EDT 2007

Dear all,

I'm looking for a tool that implements the source code transformation
"replace recursion by catamorphism" (fold etc.).

My application is that if the transformation succeeds,
it implies that the program terminates. (roughly)

I don't want to make a big research project out of this,
rather I think of quickly putting together a prototype
that proves the concept.

I figure it could be distilled from some existing refactoring suite,
or be manufactured from existing building blocks.

E.g. Language.Haskell.* from the ghc libs,
and perhaps "Typing Haskell in Haskell"?

Any hints appreciated.

Of course, if you already have some termination prover
for Haskell programs, using any method whatsoever,
then you're invited to take part
in the "FP" category of the upcoming Termination Competition,
see http://www.lri.fr/~marche/termination-competition/2007/

(Also, I'd welcome your comments on the proposed form
and semantics of the FP category.)
For discussion, please do not use this list but

Best regards, Johannes Waldmann.

More information about the Haskell mailing list