News for hackers. Stuff that matters.
Re:Functor, Applicative, and Monad by contravariant on Wednesday September 18, 2019 @08:52AM (#21004822)
By this definition Monads are also a core part of C#, they're not used to do IO but the async/await, IEnumerable, null-safe operators ('?.') are all implementations of Monads (not by coincidence), and above all you have the Linq syntax that you can extend to all of them and any other Monads you care to define.

Yet I imagine most C# programmers have little to no formal understanding of Monads (although quite a few probably do at least know about the link).

Re:Functor, Applicative, and Monad by hope-striker on Thursday September 19, 2019 @09:21AM (#21015870)
Sorry, I'm only vaguely familiar with C#, but maybe you're right, if they get sugar in the form of LINQ syntax. But regarding async/await, (?.), etc., a language doesn't have special support for vector spaces just because it has many vector spaces in it - and every language has many vector spaces in it.
Re:Functor, Applicative, and Monad by kccqzy on Wednesday September 18, 2019 @11:42PM (#21013085)
That's true, it's just that it's culturally inappropriate to use the full power of monads in C# outside specific scenarios like Linq.
Re:Functor, Applicative, and Monad by contravariant on Thursday September 19, 2019 @04:17AM (#21014334)
Well that really depends on who's working on it. In my opinion Linq isn't so much the only appropriate way to use monads but rather the most convenient way to demonstrate their full power.