5 ms·
I agree that the BCL is better off as separate packages (even if it's caused many headaches getting my NETCore build right); but my main point was that the BCL
by louthy 10y ago
I agree that the BCL is better off as separate packages (even if it's caused many headaches getting my NETCore build right); but my main point was that the BCL is pretty much 100% stuck in OO-land. Aside from a few types and interfaces (DateTime, string, IEnumerable, IObservable, ...), there's no coherent functional base for C#: no Option type, by default the collections are all mutable (the immutable versions have terribly awkward names like ImmutableDictionary, etc.), lots of void returning methods, etc.
I could go on, but there's not a huge point to moaning about it, which is why I decided to do something about it. I'm not sure if it's even possible for there to be an official functional BCL without it being a totally new set of packages. It's something that F# would benefit from too.