Collectathon.Pools

Provides pools, a type that manages other objects, like an object heap, retention pool, distributed pool, etc.


Keywords
collection, collections, container, containers, data, structure, structures, abstract, type, types, adt, trait, traits, pool, pools, deck, decks, card, cards
License
BSD-3-Clause
Install
Install-Package Collectathon.Pools -Version 5.0.0-beta.7

Documentation

Gitter Build Status Codacy Badge Beerpay

Stringier is a collection of projects to make working with text better.

Extension methods? ✔️ High performance parsing? ✔️ Easy to use? ✔️

Everyone works with text. Let's make it better.

Documentation:

Thanks to GitHub Pages, documentation is available here

Contributor documentation is provided here and in the wiki.

The goals and purpose of this project is provided here;

Subprojects: Nuget

Extensions Nuget Nuget

Stringier was born out of my typical use case of C#: working with text. While I generally really like the language, it could be better. Some of this is syntax related. Some of this is missing features. This project exists to remedy that.

Patterns Nuget Nuget Nuget Nuget

Patterns extends Stringier with further support for pattern declaration and parsing of those patterns. If you're doing a lot of text parsing or text processing, this is probably of interest to you.

Syntax Showdown:

This is just in good fun. There's a lot more to consider than just syntax.

Regex

Regex phoneNum = new Regex("^[0-9]{3}-[0-9]{3}-[0-9]{4}");

Pidgin

Parser<char, string> phoneNum = Digit.RepeatString(3).Then(Char('-')).Then(Digit.RepeatString(3)).Then(Char('-')).Then(Digit.RepeatString(4));

FParsec

let phoneNum = attempt (digit .>>. digit .>>. digit .>>. pchar '-' .>>. digit .>>. digit .>>. digit .>>. pchar '-' .>>. digit .>>. digit .>>. digit .>>. digit)

Stringier

Pattern phoneNum = DecimalDigitNumber.Repeat(3).Then('-').Then(.DecimalDigitNumber.Repeat(3)).Then('-').Then(DecimalDigitNumber.Repeat(4));
let phoneNum = DecimalDigitNumber * 3 >> DecimalDigitNumber * 3 >> DecimalDigitNumber * 4