-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
24 lines (14 loc) · 934 Bytes
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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