Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dirkgroot/fsharpx.radixtree
A general-purpose implementation of a Relaxed Radix Balanced tree.
https://github.com/dirkgroot/fsharpx.radixtree
data-structures fsharp fsharp-practice fsunit immutable-collections test-driven-development
Last synced: 8 days ago
JSON representation
A general-purpose implementation of a Relaxed Radix Balanced tree.
- Host: GitHub
- URL: https://github.com/dirkgroot/fsharpx.radixtree
- Owner: dirkgroot
- License: mit
- Created: 2019-03-22T14:56:37.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-04-01T19:41:30.000Z (almost 6 years ago)
- Last Synced: 2024-11-17T15:57:49.701Z (2 months ago)
- Topics: data-structures, fsharp, fsharp-practice, fsunit, immutable-collections, test-driven-development
- Language: F#
- Homepage:
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FSharpx.RadixTree
This is an attempt to practice F# by (perhaps) creating something useful in the process.My objective is to create a general-purpose implementation of a Relaxed Radix Balanced tree, based on the
[original paper by P. Bagwell and T. Rompf](https://infoscience.epfl.ch/record/169879/files/RMTrees.pdf).Learning and practicing will be my primary goal with this, so I may never actually finish it. What do I want to
practice/learn, you might ask:
* Better understand the F# language itself (syntax, library);
* Test Driven Development with F#:
* xUnit;
* FsUnit;
* ...
* Performance measurement: When I've got a first version working, I'd like to do some tests to see how it performs;
* Probably more...## Some background
To my surprise, F# does not have any built-in immutable collections which support (near) O(1) get/nth operations and
appending/slicing. Inspired by [this issue](https://github.com/fsprojects/FSharpx.Collections/issues/72)
on FSharpx.Collections (which has been inactive since july 2018), I figured that creating an RRB tree in F# might be a
nice learning experience.So far, I'm having lots of fun :).