[Hat] Cycles

Thomas Davie tatd2 at kent.ac.uk
Thu Dec 9 09:00:49 EST 2004


> Thomas Davie <tom.davie at gmail.com> writes:
>
>>    I was just wondering if anyone had a 'definitive' list of where it 
>> is
>> possible to get a cycle in an ART.  Has anyone looked at where it is
>> theoretically possible to get a cycle and what code causes it?  Or, if
>> not, does anyone have a list simply from the experience of writing the
>> SExp cycle detection code.  I'm having a few problems deciphering
>> exactly what it is looking for.
>
> Thorsten Brehm, the author of the cycle-detection code, would be
> the best person to ask.  Unfortunately, his Master's Thesis about
> the implementation of the Hat tools does not mention the subject of
> cycles at all.
>
> One obvious source of a cycle in the trace would be genuinely
> circular code:
>
>     let xs = 1:xs in xs

I'm not sure if this would produce a cycle in the ART file - obviously 
it produces an infinite computation, but would it not come out to

1 AtomConstructor ':'
2 ExpValueApp '1' 1 3
3 ExpValueApp '2' 1 4
4 ExpValueApp '3' 1 5

(obviously mega simplified...)

Thanks

Bob



More information about the Hat mailing list