language-ext
MoreLINQ
Our great sponsors
language-ext | MoreLINQ | |
---|---|---|
41 | 21 | |
6,119 | 3,576 | |
- | 1.3% | |
7.7 | 7.8 | |
about 18 hours ago | 24 days ago | |
C# | C# | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
language-ext
-
The Monad Invasion - Part 2: Monads in Action!
You probably noticed that .SetName() returns a Either. You may have come across Unit in libraries like MediatR or Language-Ext. It's a simple construct representing a type with only one possible value. We use it as a placeholder for operations that do not return a value but may return another state. In our example, .SetName() is a Command that does not return a value but may fail. Therefore, the monad Either carries two possible states: Right (without value) or Left (with an Error).
-
The Monad Invasion - Part 1: What's a Monad?
Language-Ext is my personal favourite, but it can be a bit overwhelming for beginners due to its extensive feature set
-
The combined power of F# and C#
> but I just want something closer to Scala, but for .Net
That's what I'm working toward with my language-ext library [1]. Obviously more support for expression based programming would be welcome (and higher kinds), but you can do a lot with LINQ and a good integrated library surface.
-
Option<T> monad for Unity/UniTask
Definitely a fan of option types, I wonder this library has anything over the C# library language-ext which also has an Option type?
-
Result pattern: language-ext vs FunctionalExtensions?
Hey, I am considering adopting the Result pattern in my codebase. Wanted to get some opinions from someone who has experience with it: should I start with language-ext or FunctionalExtensions?
-
John Carmack on Functional Programming in C++ (2018)
> [1] https://github.com/louthy/language-ext
Cool library. I've had a few of these patterns in my Sasa library for years, but you've taken it to the Haskell extreme! Probably further than most C# developers could stomach. ;-)
You might be interested in checking out the hash array mapped trie from Sasa [1]. It cleverly exploits the CLR's reified generics to unbox the trie at various levels which ends up saving quite a bit of space and indirections, so it performs almost on par with the mutable dictionary.
I had an earlier version that used an outer struct to ensure it's never null, similar to how your collections seem to work, but switched to classes to make it more idiomatic in C#.
I recently started sketching out a Haskell-like generic "Deriving" source generator, contrasted with your domain-specific piecemeal approach, ie. [Record], [Reader], etc. Did you ever try that approach?
[1] https://sourceforge.net/p/sasa/code/ci/default/tree/Sasa.Col...
[2] https://sourceforge.net/p/sasa/code/ci/57417faec5ed442224a0f...
-
What C# feature blew your mind when you learned it?
language-ext supports it and it's pretty dang cool.
-
Three words.,, => C# Functional Programming is awesome!!! Do you seasoned developers have any war-stories or nightmare stories regarding Functional Programming?
https://github.com/louthy/language-ext Honestly, this is pretty advanced for me, and im still a bit mind-blown looking at it, This is like the experts level library, with all of the methods AND tools to expand and build your own libraries.. While the above one just has the most commonly used It has a pretty cool immutable type generator I want to check out
- Welcome to C# 11
MoreLINQ
- What your hidden nuget gems ?
-
Do you know about the DistinctBy method?
You can grab MoreLinq off of Nuget for pre-.NET6 and it has a DistinctBy implementation that you might be able to use: https://github.com/morelinq/MoreLINQ
-
Three words.,, => C# Functional Programming is awesome!!! Do you seasoned developers have any war-stories or nightmare stories regarding Functional Programming?
Install "morelinq" 3.3.2 from Nuget: https://www.nuget.org/packages/morelinq You know you got the right one if it has about 37.2 million downloads.
-
Is there a reason why a WithIndex() extension method isn't apart of the standard library?
If you don't already know about it, I highly recommend checking out the MoreLINQ open source project which adds a bunch of these less common but still occasionally useful extensions to LINQ. They also include an Index method which does exactly what your WithIndex method does, yielding out KeyValuePair entries for each iteration.
-
-🎄- 2021 Day 1 Solutions -🎄-
It's part of the MoreLinq library. The Window() function code is here.
- .NET 6
-
MIT Licensed Repository of Game Scripts. I am updating the repo regularly with all the scripts I've made over the past 10 years that can be generalised, completely free of charge, for you to do with as you wish. Currently only Unity scripts, but hope to expand further in the future.
And while the thought of improving the readme had indeed crossed my mind already, I'm struggling a bit with what exactly to put there. I kind of like the way it's done at MoreLINQ but I fear that this might explode a bit for me with the number of classes I have, and that listing all method signatures and some short descriptions might prove to quickly become outdated when the actual code changes or more is added.
-
New .NET 6 APIs driven by the developer community
Check out MoreLINQ if you haven't already. It adds a lot of extra LINQ extension methods, including MinBy/MaxBy.
-
2020 Day 17 Solutions
MoreLinq is a NuGet package with some extensions to the built in LINQ methods. I don't like to use libraries in my solutions, but MoreLINQ has a bunch of common LINQ methods, and it just saves me writing them myself.
What are some alternatives?
OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching
CSharpFunctionalExtensions - Functional extensions for C#
Optional - A robust option type for C#
Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
VisualFSharp - The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
NetFabric.Hyperlinq - High performance LINQ implementation with minimal heap allocations. Supports enumerables, async enumerables, arrays and Span<T>.
csharplang - The official repo for the design of the C# programming language
Extensions-And-Utilities-For-Unity - A collection of Extension methods and Utility classes for the System, UnityEngine, and UnityEditor namespaces.
lobster - The Lobster Programming Language
FSharpPlus - Extensions for F#
JFlepp.Maybe - A Maybe type for C#, aimed as an idiomatic port of the option type in F# to C#
Optuple - .NET Standard Library for giving (bool, T) Option-like semantics