Found 21 packages
An AutoFixture customization that allows AutoFixture to create specimens of the immutable collections found in the System.Collections.Immutable namespace.
An buffer of bytes implemented internally as immutable array ReadOnlyMemory<byte>
FastCgi Immutable Array library
The framework BitArray is helpful but it has a serious flaw in the fact that it is not immutable. This is the primary motivation for working on this package in order to achieve just such an ImmutableBitArray. Reflexive operations can modify an instance but otherwise bitwise operations should yield a wholely new instance.
Contains implementation of immutable arrays with special immutable implementation for array operations for saving memory.
Package Description
ExtCore provides extensions to the F# core library (FSharp.Core) and aims to help you build industrial-strength F# applications. These extensions include additional functions for modules such as Array, List, Set, and Map; immutable IntSet, IntMap, LazyList, and Queue collections; a variety of computation expressions (workflows); and "workflow collections" -- collections modules which have been adapted to work seamlessly from within workflows.
This package adds formatters for all the types in the System.Collections.Immutable namespace. For example ImmutableArray, ImmutableSet, ImmutableDictionary, ...
PrimeFuncPack Core.FlatArray is a core library for .NET consisting of immutable FlatArray targeted for use in functional programming.
Provides a read-only array type that is convertible from T[] and ImmutableArray<T>.
Immutable versions of `Memory<T>` and `Span<T>`, because `ReadOnlyMemory/Span` doesn't imply the underlying memory won't be mutated. These types either wrap known immutable objects (`String`, `ImmutableArray<T>`), or they take sole ownership of a defensive copy of the underlying memory. They then provide a non-mutating API which closely resembles `ReadOnlyMemory/Span`.
Provides various data structures and utilities. Includes three primary types: Ramstack.Text.StringView Ramstack.Collections.ArrayView<T> Ramstack.Collections.ReadOnlyArray<T>
ValueArray: an immutable array wrapper with value equality semantics
This package contains the implemetation of a ValueArray, which is an immutable (read-only) container whose equality is determined based on its content. That means, two ValueArrays with the same items in the same order are equal. ValueArrays are the perfect fit if your DDD value-objects need to contain a collection of objects and you do not want to care about equality and immutability. This makes modeling ValueObjects with C#-records a breeze.
Represents a generic immutable sequence of T. Equality is, like strings, based on value not reference. It's essencially a wrapper for immutableArray, but with value based equality instead of reference based equality. For example: (5,2,2,4) equals (5,2,2,4) even if the reference is not the same, and (3,2) obviously doesn't equal (5,4,6); this example is working with Sequences of type: Sequence. The hashcode is generated by combining the hashcodes of all the elements in the set, with default(int) being the hashcode for an empty set.
Immutable inline array-like implementations for passing tiny lists without heap allocations. TinyRoSpan, TinyRoVec, TinyVec
🍊️ Useful utilities for .NET development, including a generic host implementation for console applications.