Re: Cycles
Thomas Davie <[email protected]> Thu, 9 Dec 2004 14:00:49 +0000
| Newsgroups | gmane.comp.lang.haskell.hat |
|---|---|
| Message-ID | <[email protected]> |
> Thomas Davie <[email protected]> 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