Skip to content

nickik/RRB-Vector-in-Dylan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RRB Vector implmentation

A implementation of a Persistent Vector. A Persistent Vector is an immutable Datastructure that has fast random access and fast insertion at the end.

A RRB Vector is an immutable Datastructure that has fast random access and fast insertion at the end, plus fast spliting and joining (meaning reasonably fast random insertions).

Random Accsess: O(log32(n)) 
Insertion: O(log32(n))
Split & Join: O(log(n))


For most practical perposes O(log32(n)) is constant.


My objectives:
- Learn Dylan (polymorthic collection implmentations)
- Give Dylan a better Collections library (specially for the multithreaded world and functional programming)

My implmentation is directly from the paper, with no working code as a example.

Resources

Paper: infoscience.epfl.ch/record/169879/files/RMTrees.pdf?version=1
Video by the Author: http://blip.tv/clojure/phill-bagwell-striving-to-make-things-simple-and-fast-5936145

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages