louthy/language-ext
View on GitHub ↗ ★ 7,083 C#
C# pure functional programming framework - come and get declarative!
109 mentions on Hacker News by 20 people: 5 stories, 104 comments · first 2014-11-19 · latest 2026-09-16
20082026
-
…use F# and want to use a more functional style, then this will help [1]. disclaimer: I'm the author https://github.com/louthy/language-ext
comment by louthy · 2019-10-15 · in .NET Core 3.0 Concludes the .NET Framework API Porting Project -
…Also, units of measure [4]: Length x = 10*inches; Area y = x * x; Time t = 10*sec; [1] NewType - https://github.com/louthy/language-ext/tree/master/LanguageE... [2] NumType - https://github.com/louthy/language-ext/tree/master/LanguageE...…
comment by louthy · 2019-09-27 · in Be wary of functions which take several parameters of the same type -
…C# implementation here [2] [1] https://michael.steindorfer.name/publications/phd-thesis-eff... [2] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2019-07-13 · in Clojure’s Approach to Identity and State (2008) -
…Reader and State) and produce output (like Writer) with the more simple monads like Option. [1] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2019-06-11 · in From Design Patterns to Category Theory (2017) -
…Validation<Fail, Success>, Validation<MonoidFail, Fail, Success> + Monad transformer stack [1] https://github.com/louthy/language-ext/
comment by louthy · 2019-06-11 · in From Design Patterns to Category Theory (2017) -
I've done a short write-up about this: https://github.com/louthy/language-ext/wiki/Performance
comment by louthy · 2019-05-23 · in A whirlwind tour of object-oriented code in F# (2012) -
Ah, the same old refrain [1] [1] https://github.com/louthy/language-ext/wiki/%22Why-don't-you...
comment by louthy · 2019-05-22 · in A whirlwind tour of object-oriented code in F# (2012) -
…then I have a library [1] that makes the inertia flow positively in the functional direction in C# https://github.com/louthy/language-ext/
comment by louthy · 2019-05-22 · in A whirlwind tour of object-oriented code in F# (2012) -
…and even complex ones, like this floating point number parser [3], are trivial to follow. [1] https://github.com/louthy/language-ext [2] https://github.com/louthy/language-ext/blob/master/LanguageE... [2]…
comment by louthy · 2019-04-19 · in Learning Parser Combinators with Rust -
…code just get the work done without thinking about it. Makes for a really great workflow. See also https://github.com/louthy/language-ext
comment by nymanjon · 2019-04-12 · in Show HN: Muon, a low-level programming language inspired by C, C# and Go -
…idiomatic (or pretty), but it's possible if needed. Higher-kinds is the killer missing feature. [1] https://github.com/louthy/language-ext#ad-hoc-polymorphism
comment by louthy · 2019-02-18 · in Generics aren't ready for Go -
…possible to write code functionally - you just need to do some boilerplate every now and then. [1] https://github.com/louthy/language-ext [2] https://stackoverflow.com/questions/38575646/general-purpose...
comment by louthy · 2018-10-02 · in A History of .NET Runtimes -
I would recommend this library https://github.com/louthy/language-ext for functional style programming in C#.
comment by Melchizedek · 2018-06-19 · in Railway-Oriented Programming (2015) -
…ocs.microsoft.com/en-us/dotnet/fsharp/get-started/g... If you can't use F# at work I really like this https://github.com/louthy/language-ext for a more functional flavor of C#.
comment by Melchizedek · 2018-06-08 · in CoreRT – A .NET Runtime for AOT -
…function. But if you want to do anything more complex, ignoring else can be a source of bugs. [1] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2018-03-26 · in Avoid Else, Return Early (2013) -
You can :) (Especially with the pattern matching feature) https://github.com/louthy/language-ext
comment by hurricaneSlider · 2018-03-12 · in Tuples goodness in .NET 4.7.1 -
…to help quicker, because I just feel the person is being polite and respectful of the effort. [1] https://github.com/louthy/language-ext
comment by louthy · 2017-11-23 · in Why we never thank open source maintainers -
…always looking for areas to try and improve the lot of C# devs trying to write functionally. [1] https://github.com/louthy/language-ext/releases/tag/v2.1.0
comment by louthy · 2017-08-16 · in The Problem with F# Evangelism -
…use that), but C# + language-ext actually gives me pretty much everything I need (bar ADTs). [1] https://github.com/louthy/language-ext
comment by louthy · 2017-08-16 · in The Problem with F# Evangelism -
…library for C# parser combinators. This has been superseded by my language-ext project: https://github.com/louthy/language-ext/ It is a much more advanced and efficient port of the Haskell Parsec library. Would you mind linking to that…
comment by louthy · 2017-06-21 · in What the heck is a parser-combinator? -
…them from my life (because it does physically enrage me whenever I see the need to use it). [1] https://github.com/louthy/language-ext/blob/master/LanguageE... [2] https://github.com/louthy/language-ext/blob/daa5a10028e9637b...
comment by louthy · 2017-03-10 · in New Features in C# 7.0 -
…monadic type, bind them, join them, map them, and return the concrete type that you pushed in." [1] https://github.com/louthy/language-ext/releases/tag/2.0.26-b...
comment by louthy · 2017-03-10 · in New Features in C# 7.0 -
…Some: x => x * 2, None: () => 0 ); Parse.Int("456").Iter(Console.WriteLine); https://github.com/louthy/language-ext/blob/e6ff382a1752c7de...
comment by louthy · 2017-03-10 · in New Features in C# 7.0 -
…the product. No hierarchy or in-fighting. It's a happy place to be. So I endorse this method :) [1] https://github.com/louthy/language-ext
comment by louthy · 2017-03-08 · in Tech Interview Torture Chamber -
…be certain. I know that if I wipe the code in those files then the performance is restored. [1] https://github.com/louthy/language-ext/ [2] https://github.com/louthy/language-ext/blob/master/LanguageE... [3]…
comment by louthy · 2017-03-07 · in Visual Studio 2017 Launch [video] -
…was unlikely to move seriously in the near term without some indication of real world need. [1] https://github.com/louthy/language-ext/blob/type-classes/Lan... [2] https://github.com/louthy/language-ext/blob/type-classes/Lan... [3]…
comment by louthy · 2017-02-02 · in The .NET Language Strategy -
…Here's an example from version 2.0 of lang-ext (which is WIP and will be released soon) [1]: [1] https://github.com/louthy/language-ext/blob/type-classes/Lan...
comment by louthy · 2017-01-30 · in C# functional language extensions and Erlang-like concurrency system -
…ValueTuple<A,B,C> (there are extensions up to ValueTuple<A,B,C,D,E,F,G> and Tuple<A,B,C,D,E,F,G>) https://github.com/louthy/language-ext/blob/type-classes/Lan... It allows cool stuff like this: var abc = ('a', 'b').Add('c'); // ('a', 'b',…
comment by louthy · 2017-01-30 · in C# functional language extensions and Erlang-like concurrency system -
…reason to believe that that is not possible due to some issue that makes it only available to Java. https://github.com/louthy/language-ext/tree/master/LanguageE...
comment by platz · 2017-01-24 · in Java Is Unsound: The Industry Perspective -
…It would help bring ad-hoc polymorphic types to C#, but it would just be awesome in general. [1] https://github.com/louthy/language-ext [2] https://github.com/louthy/language-ext/blob/type-classes/Lan... [3]…
comment by louthy · 2016-11-17 · in .NET Framework – What's New in C# 7.0 -
…feels like an imbalanced expression. They're clearly more useful now, but they still feel odd. [1] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2016-11-17 · in .NET Framework – What's New in C# 7.0 -
…arguments can't be inferred by the type-system, so you then end up having to specify them all). [1] https://github.com/louthy/language-ext/blob/master/LanguageE... [2] https://github.com/louthy/language-ext/blob/master/LanguageE... [3]…
comment by louthy · 2016-11-16 · in .NET Framework – What's New in C# 7.0 -
This is great, installed, thanks! Now to brag: https://github.com/louthy/language-ext/
comment by louthy · 2016-11-15 · in Show HN: Git-brag shows stargazers from important companies -
…it doesn't make it a higher-kinded type, but you don't have to use IEnumerable to use LINQ. [1] https://github.com/louthy/language-ext/blob/type-classes/Lan... [2] https://github.com/louthy/language-ext/blob/type-classes/Lan...
comment by louthy · 2016-08-23 · in Higher-kinded types: the difference between giving up and moving forward -
…a discussion on ad-hoc polymorphism in C#. There are lots of links to examples further down. [1] https://github.com/louthy/language-ext [2] https://github.com/louthy/language-ext/issues/120
comment by louthy · 2016-08-23 · in Higher-kinded types: the difference between giving up and moving forward -
…class [1]. It's pretty lightweight, although could probably shave a few bytes here and there. [1] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2016-06-29 · in Announcing .NET Core 1.0 -
…that (with lots of functional niceness too). Disclaimer, I wrote it, so I'm obviously biased https://github.com/louthy/language-ext
comment by louthy · 2016-06-29 · in Announcing .NET Core 1.0 -
…in mind (because it's mine too). It also has some utility functions for F#/C# interop. [1] https://github.com/louthy/language-ext
comment by louthy · 2016-06-15 · in The Story of Haskell at IMVU -
…an improvement over passing integers, strings, or other basic types around. [1] Implementation - https://github.com/louthy/language-ext/blob/master/LanguageE... [2] Unit tests / examples - https://github.com/louthy/language-ext/blob/master/…
comment by louthy · 2016-06-14 · in Four months with Haskell -
…[1]). The toolset is pretty boring/standard though: VS2015 + TeamCity + in-house Nuget + Gitlab [1] https://github.com/louthy/language-ext/
comment by louthy · 2016-06-10 · in F# Not just for finance -
…If I'm understanding this correctly, that process could be wrapped up in a single stream? [1] https://github.com/louthy/language-ext/tree/master/LanguageE... [2] https://github.com/louthy/language-ext
comment by louthy · 2016-06-05 · in RCP 11 – Stream data type proposal for Redis -
…too bogged down on implementation attempts and doesn't think about the problem conceptually. [1] https://github.com/louthy/language-ext [2] https://github.com/louthy/csharp-monad
comment by louthy · 2016-03-31 · in Immutability is not enough -
Monad transformers in C# [1] (but yes, only works with the monads in the library) [1] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2016-02-21 · in Scala's Option monad versus null-conditional operator in C# -
…the majority of the use-cases, but may be of interest in the context of this discussion. [1] https://github.com/louthy/language-ext [2] https://github.com/louthy/language-ext/blob/master/LanguageE... [3]…
comment by louthy · 2016-02-20 · in Scala's Option monad versus null-conditional operator in C# -
…layer on top of that. It's called LanguageExt.Process and is part of my LanguageExt project: https://github.com/louthy/language-ext
comment by louthy · 2016-01-30 · in RabbitMQ Internals -
…drop me an email with your CV to plouth AT gmail :) [1] https://github.com/louthy/csharp-monad [2] https://github.com/louthy/language-ext [3] https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2016-01-14 · in Project Rider – A C# IDE -
…works for the most common scenarios. I only occasionally have to drop back to the cmd line. [1] https://github.com/louthy/language-ext
comment by louthy · 2016-01-13 · in Project Rider – A C# IDE -
…don't really know if I'm doing it right and the 'official' help is light on details at best. [1] https://github.com/louthy/language-ext
comment by louthy · 2016-01-08 · in Exploring the new .NET “dotnet” CLI -
…you're more familiar with? [1] http://adit.io/posts/2013-04-17-functors,_applicatives,_and_... [2] https://github.com/louthy/language-ext
comment by louthy · 2015-12-18 · in Reflecting on Haskell in 2015 -
…of Option which is possibly the most complete example out there (at least in C# world): https://github.com/louthy/language-ext/blob/master/LanguageE...
comment by louthy · 2015-10-26 · in Java 8’s new Optional type doesn't solve anything