News for hackers. Stuff that matters.
Re:Why your F# evangelism isn't working by slfjw____ on Tuesday May 30, 2023 @09:52PM (#36133594)
Likely will never use again

* two async models present: task (C#) & async (f#)

* horrible async performance: perhaps fixed by native task & FSM transformation

* two error handling models: Result (monadic but without do notation) & C# style Exceptions

* not rich in community libraries, like a desert & abandonware

Re:Why your F# evangelism isn't working by xupybd on Tuesday May 30, 2023 @10:58PM (#36133993)
> not rich in community libraries, like a desert & abandonware

You have access to the entire .net ecosystem?

Re:Why your F# evangelism isn't working by jasdfwef on Wednesday May 31, 2023 @01:03AM (#36134648)
They may have meant F# packages
Re:Why your F# evangelism isn't working by pjmlp on Wednesday May 31, 2023 @05:16AM (#36136221)
Right, but like the curse of guest languages (which F# isn't one), they decided to create their own ecosystem.

So using .NET libraries directly is frowned upon, while some of them like GUI frameworks, expect C# features (like Roslyn and Code Generators) not available in F#.

Re:Why your F# evangelism isn't working by rami3l on Wednesday May 31, 2023 @09:02AM (#36137875)
The last time I gave F# a shot, I tried to write a simple Telegram bot in it.

Just to test how much I would actually benefit from the .NET ecosystem, I chose to use a C# wrapper for the Telegram API. Suddenly I had to handle null references and exceptions everywhere (it's in this regard even worse than Rust, where I'm guaranteed to get Options and Results).

I know proper support for C# T? type interop is in the works (https://github.com/dotnet/fsharp/pull/15181), but really it seemed to me that too few cared about F# to get it landed in a reasonable timeframe.

I'd really love to see a pragmatic FP language with a reasonable amount of libs to choose from (both natively and via interop without much effort), but F# was a bit far from that description IMO.

Re:Why your F# evangelism isn't working by lostmsu on Tuesday May 30, 2023 @10:59PM (#36134002)
* the complexity of the compiler makes it hard to make it better
Re:Why your F# evangelism isn't working by pbiggar on Tuesday May 30, 2023 @11:43PM (#36134234)
Tasks are native and I've never had the use async. Performance is great.

Agree that exceptions are frustrating that they exist, sadly there's little option due to C# exception model. Same thing in OCaml though less excuse over there.

I basically use C# libraries directly, and it hasn't been annoying at all.