Jolt.NET : Productivity Libraries for the .NET Framework

  •        73

Inspired by the Boost C++ libraries, Jolt.NET aims to complement the .NET Base Class Library (BCL) and .NET Framework with algorithms, data structures, and general productivity tools. It is the hope of the authors that Jolt.NET features will one day be represented in .NET.



Related Projects


Quasar is a suite of class libraries for .Net developers, providing several data structures, algorithms, extension methods and other components which are not implemented in standard .Net framework.

JCTools - Java Concurrency Tools for the JVM

Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.

Agrona - Library to build high-performance applications in Java and C++

Agrona provides a library of data structures and utility methods that are a common need when building high-performance applications in Java and C++. It supports Buffers, Map, Sets, Cache, Queues and lot more.

nunit.should - Extension methods for NUnit assertions

Extension methods for NUnit assertions

nunit-extensions - Helpful extension methods for NUnit assertions

Helpful extension methods for NUnit assertions


Avro is a data serialization system. It is a subproject of Apache Hadoop.

py-extended-collections - Python Collections extended with new data structures

Python Collections extended with new data structures

Silmaril's Code Generation Tool - MS SQL

Generates c# classes from MS-SQL database.Each class has it's Constructors,CRUD Methods and methods fetches data according foreign keys.

CacaoPods - Cocoa Collections / Data Structures Framework

Cocoa Collections / Data Structures Framework

Extension Overflow

The purpose with this collection is to provide useful C#extension methods to boost productivity for the .net developers. The beginning of this library was the post on

immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity

Immutable data cannot be changed once created, leading to much simpler application development, no defensive copying, and enabling advanced memoization and change detection techniques with simple logic. Persistent data presents a mutative API which does not update the data in-place, but instead always yields new updated data.

BoomFilters - Probabilistic data structures for processing continuous, unbounded streams.

Boom Filters are probabilistic data structures for processing continuous, unbounded streams. This includes Stable Bloom Filters, Scalable Bloom Filters, Counting Bloom Filters, Inverse Bloom Filters, Cuckoo Filters, several variants of traditional Bloom filters, HyperLogLog, Count-Min Sketch, and MinHash.Classic Bloom filters generally require a priori knowledge of the data set in order to allocate an appropriately sized bit array. This works well for offline processing, but online processing typically involves unbounded data streams. With enough data, a traditional Bloom filter "fills up", after which it has a false-positive probability of 1.

testify - A toolkit with common assertions and mocks that plays nicely with the standard library

Go code (golang) set of packages that provide many tools for testifying that your code will behave as you intend.The assert package provides some helpful methods that allow you to write better test code in Go.

tavor - A generic fuzzing and delta-debugging framework

Tavor (Sindarin for woodpecker) is a framework for easily implementing and using fuzzing and delta-debugging. Its EBNF-like notation allows you to define file formats, protocols, and other structured data without the need to write source code. Tavor relaxes on the definitions of fuzzing and delta-debugging to enable the usage of its algorithms universally for keyword-driven testing, model-based testing, simulating user-behavior and genetic programming. Tavor is also well-suited for researching new methods without reimplementing basic algorithms.We want to test a service which processes an XML structure. The structure can contain groups and items. A group contains other groups or items. An Item consists of an attribute name with an alphanumeric value. The item's value contains a number. This structure sounds simple but allows an enormous variety of possible outcomes. It is therefore hard to test since a tester has to think about every important possibility if the generation of the test data is done manually. Doing this manually is cumbersome and error-prone. Tavor can be used to automate the generation.

Vavr - Object-functional language extension to Java

Vavr is an object-functional language extension to Java 8, which aims to reduce the lines of code and increase code quality. It provides persistent collections, functional abstractions for error handling, concurrent programming, pattern matching and much more.

colfer - binary serialization format

Colfer is a binary serialization format optimized for speed and size.The project's compiler colf(1) generates source code from schema definitions to marshal and unmarshall data structures.

Generic Extension Methods

Generic Extension Methods is a class library of extension methods to help create cleaner code that is easier to maintain and provides better semantic meaning for casual observers. These methods also remove a lot of repetitive code that is utilized across objects of similar types