FunctionalCollections.jl
FunctionalCollections.jl copied to clipboard
Functional and persistent data structures for Julia
I would love Julia to have a high-performance, actively maintained immutable collections library, but it looks like this project isn't under active development. Are there any plans for FunctionalCollections.jl going...
Implementation of a persistent [union find data structure](https://en.wikipedia.org/wiki/Disjoint-set_data_structure). This is useful and complementary to the [DisjointSet structure in the imperative DataStructures.jl package](https://juliacollections.github.io/DataStructures.jl/latest/disjoint_set/), because a large subset of the usecases for...
...Otherwise this can be a very easy to miss source of type instability. Adding this line gave me a fivefold speedup on a problem I had
Currently `append` is implemented by inserting one item at a time; I think it should be possible to do this faster by adding all elements "at once".
Fixes: #66
`conj(s::PersistentSet{T}, val)` should not overload `Base.conj`. `Base.conj` is complex conjugation. I suggest replacing it with `push`. We already provide `push` as an alias for `conj`. `push` is a good name...
When calling `pop` on a persistent vector with, eg., 33 elements, we have a `tail` of length 1. After this `pop` call, there was a bug where the resulting pvec...
The code below throws an error `BoundsError: attempt to access 1-element Array{Float64,1} at index [2]`, which seems to be a bug. When in the same code `PersistentHashMap` is replaced with...
I've been getting some keyerrors when calling `get(m, key, 0)` where `m::PersistentHashMap`. Based on a cursory look at the FunctionalCollections source code, it looks to me like the issue is...
This patch adds `Project.toml` generated by Pkg.jl's `gen_project.jl` script and removes `REQUIRE` file. This PR is auto-generated by https://gist.github.com/tkf/eee56c7a989530fdaa87471333d0c06a