title: Fully persistent linked list
body: <p>Why isn't there any implementation (in C, C++, Java or even Python...) of a fully persistent (not necessarily functional) linked list that has a constant time/space overhead in the number of modifications?</p>
  
  <p>The data structure I have in mind is the one described in this paper:
  <a href="http://www.cs.cmu.edu/~sleator/papers/Persistence.htm" rel="nofollow">http://www.cs.cmu.edu/~sleator/papers/Persistence.htm</a></p>
  
  <p>After a long search on google I was unable to find even a partially persistent linked list implementation with the overhead sited above.</p>
  
  <p>PS: The definitions of persistence I am speaking about are those described in the following Wikipedia page:
  <a href="http://en.wikipedia.org/wiki/Persistent_data_structure" rel="nofollow">http://en.wikipedia.org/wiki/Persistent_data_structure</a></p>
  
  <p>EDIT(after the question was put on hold):</p>
  
  <p>I don't think the reason mentioned applies to my question. I am not exactly asking for recommendation among different available libraries, so there can t be "opinionated answers and spam". My question is kind of astonishment that a data structure, that is supposed to be great in theory, was not implemented by any of the known languages. So before I implement it myself I asked this question to see if there is an answer like: "It is normal, the data structure X dominates the one you re looking for and that's why it has not been implemented despite its simplicity". Another answer could be "It is not as good as you think since there is a big hidden constant" or "it doesn t do well with the way caches are built nowadays"... I am sorry if my question was not clear enough. I transformed my question making my request more explicit now.</p>