fuzion-lang.dev — The Fuzion Language Portal
JavaScript seems to be disabled. Functionality is limited.
Fuzion
•
Library Modules
•
Finger_Tree
»
Modules
base
clang
sodium
crypto
database
http
lock_free
mail
wolfssl
nom
sqlite
terminal
tokiwa
web
uuid
webserver
universe (module lock_free)
└─
lock_free
├─
Map
├─
Sieve_Cache
(1 arg)
└─
stack
Finger_Tree
container
.
Finger_Tree
Finger_Tree
(T
type
)
ref
:
abstract_array T
is
[Contains abstract features]
[Private constructor]
[Module base]
¶
[src]
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]
¶
[src]
Functions
group_hashable_by
(K
type
:
property.hashable
, f
Unary K T
)
=>
container.Map K (Sequence T)
[Inherited from
Sequence
]
¶
[src]
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
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