functional programs, was: Re: [Termtools] Next competition
Johannes Waldmann
waldmann at imn.htwk-leipzig.de
Thu Mar 23 11:27:50 CET 2006
Peter Schneider-Kamp wrote:
> A term t containing no abstract variables is "terminating"
> if and only if
> (a) its evaluation (according to Haskell strategy) is finite
> and
> (b) all (type-correct) applications of t to a "terminating"
> term are "terminating"
>
> An abstract term t is "terminating" if and only if
> all (type-correct) instantiations of t which instantiate
> all abstract variables with "terminating" terms
> are "terminating".
just to clarify: what does (a) mean?
Since Haskell is lazy, I'd think it should be
evaluation to head normal form,
i. e., a constructor (with unevaluated arguments)
or a lambda expression (with unevaluated body).
But then "ones = 1 : ones" should be terminating,
while your example indicates otherwise.
Or do you plan to have a separate concept for "laziness"
(top termination perhaps)?
Best regards,
--
-- Johannes Waldmann -- Tel/Fax (0341) 3076 6479/80 --
---- http://www.imn.htwk-leipzig.de/~waldmann/ -------
_______________________________________________
Termtools mailing list
Termtools at serveur-listes.lri.fr
http://serveur-listes.lri.fr/mailman/listinfo/termtools
More information about the Termtools
mailing list