4 ms·
makeCircle rst = rst ++ makeCircle rst The thing is that a circular list is actually an infinite list in Haskell. ;)
by qznc 14y ago
makeCircle rst = rst ++ makeCircle rst
The thing is that a circular list is actually an infinite list in Haskell. ;)
- ufo 14y agoThis is not a real circular list though, since it does not tie the knot as in dbaupp's comment.
- DannoHung 14y agoIf you want to prevent that then you want to take general recursion out of your programming language and if you're gonna do that you might as well make it Turing incomplete. These aren't "circles" per se, they are partially evaluated recursive structures. If you expand them you end up with evaluated list structures that are non-self referential.