LanguageExt 0.0.6-beta
See the version list below for details.
dotnet add package LanguageExt --version 0.0.6-beta
NuGet\Install-Package LanguageExt -Version 0.0.6-beta
<PackageReference Include="LanguageExt" Version="0.0.6-beta" />
paket add LanguageExt --version 0.0.6-beta
#r "nuget: LanguageExt, 0.0.6-beta"
// Install LanguageExt as a Cake Addin
#addin nuget:?package=LanguageExt&version=0.0.6-beta&prerelease
// Install LanguageExt as a Cake Tool
#tool nuget:?package=LanguageExt&version=0.0.6-beta&prerelease
Using and abusing the features of C# 6 to provide lots of helper functions and types, which, if you squint, can look like extensions to the language itself.
This package brings functional helpers for classic C# problems:
Poor tuple support
Null reference problem
Lack of lambda and expression inference
Void isn't a real type
Mutable lists and dictionaries
The awful 'out' parameter
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
.NETFramework 4.5
- System.Collections.Immutable (>= 1.1.32-beta)
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.1.2-beta | 103 | 4/16/2015 |
0.1.1-beta | 66 | 2/19/2015 |
0.0.14-beta | 40 | 2/4/2015 |
0.0.12-beta | 42 | 1/15/2015 |
0.0.11-beta | 35 | 1/15/2015 |
0.0.10-beta | 38 | 1/15/2015 |
0.0.8-beta | 123 | 11/23/2014 |
0.0.7-beta | 64 | 11/22/2014 |
0.0.6-beta | 65 | 11/22/2014 |
0.0.4-beta | 71 | 11/21/2014 |
0.0.3-beta | 124 | 11/20/2014 |
0.0.2-beta | 193 | 11/19/2014 |
0.0.1-beta | 262 | 11/19/2014 |
New functions for Option, OptionUnsafe, TryOption:
- bind
- map
- exists
- fold
- count
- forall
- ToList
- ToArray
New functions in List and Map:
- iter
- forall
- mapi
- addRange
Improved memoization:
- Uses a WeakDictionary from the ch.codeplex.com library, this removes the possibility of memory-leaks whilst maintaining the compositional nature of `Func<T,R>`. In a unit-test memoizing 0 -> Int32.MaxValue strings, the NUnit runner never jumped above 45mb.
- memo() must use a reference type for R, so the old memoization function is kept for completeness, except it's now called memoUnsafe, with warnings in the comments about potential memory leaks.
Breaking changes:
- each() has been renamed iter()
- AsEnumerableOne() renamed AsEnumerable() and removed the infinite variants (originally called AsEnumerable())