Hacker News new | ask | show | jobs
by jordwalke 4018 days ago
It's easy to get a quick comparison by searching stackoverflow so I won't reitterate those answers, but I would just mention a couple of my favorite things from OCaml that F# doesn't have that those answers tend to leave out:

- Polymorphic variants

- GADTs

- Named arguments (that are still curried if you can believe it!)

- Last time I checked OCaml had better record label scoping. F# doesn't allow two record types in scope that share a record label name. Does anyone know if F# has plans to implement what OCaml has (or have they already?) OCaml used to have the same problem but it was fixed and now dealing with OCaml records has been massively improved as a result.

1 comments

Also, OCaml has functors.

On the other hand, interop with C# means instantly much larger ecosystem.