Persistent Data Structure - Reference Cycles

Reference Cycles

Since every value in a purely functional computation is built up out of existing values, it would seem that it is impossible to create a cycle of references. In that case, the reference graph (the graph of the references from object to object) could only be a directed acyclic graph. However, in most functional languages, functions can be defined recursively; this capability allows recursive structures using functional suspensions. In lazy languages, such as Haskell, all data structures are represented as implicitly suspended thunks; in these languages any data structure can be recursive because a value can be defined in terms of itself. Some other languages, such as OCaml, allow the explicit definition of recursive values.

Read more about this topic:  Persistent Data Structure

Famous quotes containing the words reference and/or cycles:

    If Hitler invaded hell I would make at least a favourable reference to the devil in the House of Commons.
    Winston Churchill (1874–1965)

    The stars which shone over Babylon and the stable in Bethlehem still shine as brightly over the Empire State Building and your front yard today. They perform their cycles with the same mathematical precision, and they will continue to affect each thing on earth, including man, as long as the earth exists.
    Linda Goodman (b. 1929)