[PRL] circular haskell programs

David Herman dherman at ccs.neu.edu
Thu Jun 30 00:14:27 EDT 2005


Oh, I think I figured it out. There wasn't a mutual dependency after  
all; despite the fact that the result was passed as an argument, the  
recursion was able to bottom out without forcing the argument that  
the result was passed to, so that that argument didn't get evaluated  
until after returning from the complete traversal.

Dave

On Jun 29, 2005, at 11:34 PM, Dave Herman wrote:

> How do you reason about termination of Haskell programs that use  
> circular programming tricks? I'm looking at some examples in a  
> couple of papers, and I can't convince myself that the programs  
> should terminate, or even make sense -- the result of a function  
> call gets passed as an argument to the function, in a way that  
> seems to create an unresolvable mutual dependency between the  
> "bottom" of the recursion and the top result.
>
> Dave
>
> _______________________________________________
> PRL mailing list
> PRL at lists.ccs.neu.edu
> https://lists.ccs.neu.edu/bin/listinfo/prl
>




More information about the PRL mailing list