{"title":"Persistent Sequences with Effective Random Access and Support for Infinity","authors":"K. Grzanek","doi":"10.2478/jacsm-2014-0005","DOIUrl":null,"url":null,"abstract":"Abstract Persistent sequences are the core data structure in functional programming style. Their typical implementations usually allow creating infinite streams of objects. Unfortunately, asking for length of an infinite data structure never ends or ends with a run-time error. Similarly, there is no default way to make an effective, O[1] or logarithmic access to an arbitrarily chosen sequence element, even when the nature of the correlation between index value and the sequence element is known. This paper presents a Clojure library that meets these limitations and offers an enhanced version of sequences with a support for effective random access and the ability to ask for an infinite length.","PeriodicalId":89404,"journal":{"name":"Journal of Applied Computer Science Methods","volume":"6 1","pages":"66 - 80"},"PeriodicalIF":0.0000,"publicationDate":"2014-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Applied Computer Science Methods","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2478/jacsm-2014-0005","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Abstract Persistent sequences are the core data structure in functional programming style. Their typical implementations usually allow creating infinite streams of objects. Unfortunately, asking for length of an infinite data structure never ends or ends with a run-time error. Similarly, there is no default way to make an effective, O[1] or logarithmic access to an arbitrarily chosen sequence element, even when the nature of the correlation between index value and the sequence element is known. This paper presents a Clojure library that meets these limitations and offers an enhanced version of sequences with a support for effective random access and the ability to ask for an infinite length.