News for hackers. Stuff that matters.
Re:I learned Haskell in just 15 years by armchairhacker on Monday June 17, 2024 @03:35AM (#40703134)
OCaml classes and objects are (ironically) rarely used and generally discouraged. There are some cases where they’re practically required, such as GUI and FFI (js_of_ocaml). But otherwise, most code does encapsulation and abstraction using modules and functor modules (which are more like Haskell and Rust typeclasses than traditional OOP classes).

I don’t know much about F#, but last time I used it most of its standard library was in C# and .NET, so F# code would interact with objects and classes a lot. AFAIK F# also doesn’t have functor modules, so even without the dependence on C# code, you still can’t avoid classes and objects like you can with OCaml (e.g. you can’t write a generic collection module like `List` or `Set` without functors, it would have to be a collection of a specific type or a class).

Re:I learned Haskell in just 15 years by neonsunset on Monday June 17, 2024 @08:07AM (#40704754)
F# uses .NET's generics, so the statement regarding List/Set is completely incorrect (in fact, all base collections are generic).
Re:I learned Haskell in just 15 years by penteract on Monday June 17, 2024 @08:28AM (#40704902)
I think you misread their claim - they said that generic list/set would have to be classes, not modules (generic modules are a specific thing in OCaml and aren't the same as a module of generic classes).
Re:I learned Haskell in just 15 years by mrkeen on Monday June 17, 2024 @02:40PM (#40709402)
F# has "generics" just like Python and PHP now "have types".

It's not a yes/no feature.

Re:I learned Haskell in just 15 years by neonsunset on Monday June 17, 2024 @03:22PM (#40709923)
Give F# a try. It has, and always had, true generics.

https://learn.microsoft.com/en-us/dotnet/fsharp/language-ref...

Re:I learned Haskell in just 15 years by mrkeen on Tuesday June 18, 2024 @02:57AM (#40714831)
> It's not a yes/no feature.

FTFM: It's not a true/false feature.

Re:I learned Haskell in just 15 years by neonsunset on Tuesday June 18, 2024 @04:16AM (#40715291)
Alright. Humor me, what is the issue with F# generics as compared to other languages with generics? Which implementation (that is productively useful) is a "true" one?