language-ext VS Paket

Compare language-ext vs Paket and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
language-ext Paket
41 9
6,159 1,987
- 0.4%
6.9 8.0
7 days ago about 1 month ago
C# F#
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of language-ext. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-27.
  • The Monad Invasion - Part 2: Monads in Action!
    3 projects | dev.to | 27 Feb 2024
    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?
    4 projects | dev.to | 27 Feb 2024
    Language-Ext is my personal favourite, but it can be a bit overwhelming for beginners due to its extensive feature set
  • Why don't you just use F#?
    1 project | news.ycombinator.com | 18 Sep 2023
  • The combined power of F# and C#
    10 projects | news.ycombinator.com | 7 Aug 2023
    > 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.

    [1] https://github.com/louthy/language-ext

  • Option<T> monad for Unity/UniTask
    2 projects | /r/Unity3D | 10 Jul 2023
    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?
    2 projects | /r/dotnet | 7 Jul 2023
    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)
    7 projects | news.ycombinator.com | 18 Feb 2023
    > [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...

  • Don't sleep on Linq query syntax if you regularly iterate through large/complex data sources
    1 project | /r/csharp | 16 Feb 2023
    languageext supports linq for its monads and I kinda love it. The challenge is convincing my colleagues. 😅
  • What C# feature blew your mind when you learned it?
    4 projects | /r/csharp | 7 Feb 2023
    language-ext supports it and it's pretty dang cool.
  • It's actually not that bad...
    1 project | /r/ProgrammerHumor | 14 Jan 2023
    I can only recommend c# language extensions library https://github.com/louthy/language-ext

Paket

Posts with mentions or reviews of Paket. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-24.
  • The Case for C# and .NET
    18 projects | news.ycombinator.com | 24 Jul 2022
    I'm not sure if it will help in your scenario, but faced with a similar problem (~80 project solution, mixed c#/f#, with varying dependencies), I found success with Paket (https://github.com/fsprojects/Paket)

    It is much more prevalent in the f# community (at this point `dotnet restore` is a perfectly fine default until you hit trouble), but isn't limited to just being applied there.

  • Introduction to Paket for F#
    2 projects | dev.to | 9 Jun 2022
    You can find the official docs here: https://fsprojects.github.io/Paket/
  • The located assembly's manifest definition does not match the assembly reference - The bane of my existence
    1 project | /r/dotnet | 26 Jan 2022
    Another thing that might be worth considering for you is Paket. This is an alternative to using nuget, directly, and will take a little bit of setting up (follow their instructions), but once you have it, it will make sure that all dependencies and transitive dependencies for all your projects are the same. Not 100% sure if this would solve the issue for you, and it might be tricky if the realApplication has unknown shared dependencies with the other projects, but you can give it a try.
  • Scala at Scale at Databricks
    2 projects | /r/scala | 9 Nov 2021
    Check out https://fsprojects.github.io/Paket/ and https://fake.build/ and https://docs.microsoft.com/en-us/dotnet/fsharp/get-started/get-started-vscode for playing with F#.
  • WebSharper: Getting Started Easily
    1 project | dev.to | 24 Aug 2021
    So I am stuck again when I want to create a web app. Don't laugh. Once again, I come from *NIX environment and the way everything is started in WebSharper is quite confusing at first. I tried to go installation documentation but I don't use Visual Studio nor MonoDevelop. Using paket also doesn't solve my problem since they also seem to use Visual Studio or MonoDevelop.
  • Can't get paket to work for the simplest case
    1 project | /r/fsharp | 28 Jul 2021
    a bit of follow up: this is because the init command you ran defaulted to those frameworks. it could be smarter, or it could default to something more recent. I opened this PR to update this default.
  • What do you think ASP.NET Core is missing or could do better?
    11 projects | /r/dotnet | 11 May 2021
    If this would be true, there would be no reason for something like Paket to exist.
  • A Brief F# Exploration
    7 projects | news.ycombinator.com | 9 Apr 2021
    I agree with the author about the slow inner loop experience. Recompiling the whole app to see browser changes gets tiring. The .NET team is planning a series of updates to address this in .NET 6. https://github.com/dotnet/core/issues/5510

    I also dislike the default workflow for dealing with Nuget forks. I switched to Paket for dependency management which makes this much simpler. https://fsprojects.github.io/Paket/

  • Is it possible to use Paket, with dotnetcore, with packages from github?
    1 project | /r/dotnet | 28 Mar 2021
    Also, I stumbled on this ticket https://github.com/fsprojects/Paket/issues/3064 which seems to confirm my fear that Paket is limited to importing files from Github, not entire packages, but I'm still hoping.

What are some alternatives?

When comparing language-ext and Paket you can also consider the following projects:

OneOf - Easy to use F#-like ~discriminated~ unions for C# with exhaustive compile time matching

NuGet - NuGet Gallery is a package repository that powers https://www.nuget.org. Use this repo for reporting NuGet.org issues.

CSharpFunctionalExtensions - Functional extensions for C#

BaGet - A lightweight NuGet and symbol server

Optional - A robust option type for C#

Sleet - A static nuget feed generator for Azure Storage, AWS S3, and more.

MoreLINQ - Extensions to LINQ to Objects

Dotnet CLI - The .NET Core command-line (CLI) tools, used for building .NET Core apps and libraries through your development flow (compiling, NuGet package management, running, testing, ...).

Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.

fbrary - Create, manage and edit your audio book library from the command line.

VisualFSharp - The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio

fslang-suggestions - The place to make suggestions, discuss and vote on F# language and core library features