ImTools 4.0.0

Immutable persistent collections, algebraic sum-type aka descriminated union, Ref type and supportive extensions for performant functional programming in C#. Split from the DryIoc: https://github.com/dadhi/DryIoc

Showing the top 20 packages that depend on ImTools.

Packages Downloads
JasperFx
Foundational helpers and command line support used by JasperFx and the Critter Stack projects
5
JasperFx
Foundational helpers and command line support used by JasperFx and the Critter Stack projects
654

v4.0.0 Major release

Breaking changes

ImMap<V> type is replaced by ImHashMap<int, V>. The implementations of ImMap and ImHashMap are combined into one, reducing the code size, and using all performance optimizations from the both. This change will simplify further performance improvements, testing and bug-fixes.

I have tried to keep the API as similar as possible, but you may expect that some types and methods were renamed, or new overloads were added.

Performance and memory improvements

  • Fewer allocations (~10%), see the benchmarks in project readme
  • Keeping the performance almost the same

Closed issues

  • #41 Add a builder-like capability to the ImHashMap via BuildFromDifferent methods
  • #47 Add output of the ImHashMap as mermaid diagram, e.g. ToMermaidString method
  • #48 Merge the ImMap and ImHashMap implementations
  • #50 Optimize Enumerable for the PartitionedHashMap
  • #51 Reduce ImHashMap memory allocations, keeping the speed
  • #52 Add AddSureNotPresent methods to compensate for GetSurePresent methods

.NET Framework 4.5

  • No dependencies.

.NET Standard 2.0

  • No dependencies.

Version Downloads Last updated
5.0.0-preview-01 0 2024-05-23
4.0.0 654 2026-01-06
3.1.0 0 2021-05-10
3.0.0 0 2021-03-24
2.1.0 0 2020-06-28
2.0.0 0 2020-01-24
2.0.0-preview-01 0 2019-12-18
1.0.0 0 2017-09-30
1.0.0-preview-05 0 2017-06-19
1.0.0-preview-04 0 2017-06-19
1.0.0-preview-03 0 2017-04-04
1.0.0-preview-02 0 2017-03-29
1.0.0-preview-01 0 2017-03-03