Fuzion Logo
fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.

Finger_Tree

container.Finger_Tree

(T 
type
)
 ref
:
abstract_array T
 is
[Contains abstract features]
[Private constructor]
[Module base]
A finger tree is a purely functional data structure designed
to efficiently represent persistent sequences.

It allows amortized constant time access to its elements.
Furthermore concatting (append/prepend) as well as splitting in logarithmic time.

In Fuzion finger trees are used for concatenation of strings and finite Sequences.

The paper introducing the datastructure:
https://www.cs.ox.ac.uk/ralf.hinze/publications/FingerTrees.pdf

The implementation that was used as an inspiration for this port:
https://github.com/ledbutter/CSharpFingerTree

NYI: UNDER DEVELOPMENT: split0, slice, reverse

Type Parameters

T
:
Any
[Module base]

Functions

group the elements of this sequence by a key of type K

f determines the key of an element
0.095dev (GIT hash 09dff08de289bbb6f7136c7e2f8c66dcc1856bba)
last changed: 2026-04-16