Ale F# sa od ocaml trosku lisi ma o nieco intuitivnejsiu syntax.
Na první pohled ano, ve skutečnosti je to neuvěřitelně komplexní - příkladem je
kód, který se chová jinak při odsazení 2 a 4 mezerami:
let foo t = "(" + t + ")"
let tttt =
let text =
match Some "" with
| Some t ->
match t with
| "" ->
"a"
| "b" ->
"b"
|> foo
| _ -> "fooo"
text
let tttt' =
let text =
match Some "" with
| Some t ->
match t with
| "" ->
"a"
| "b" ->
"b"
|> foo
| _ -> "fooo"
text
Jiným příkladem jsou bugy, které nikdo nechce opravovat, protože by se musel hrabat v lexikálním filtrování.
ma kopu novych konstrukcii ktore ocaml uplne chybaju o jeho vyvoj sa nestara len samotny ms ale aj fsharp fundation.
Na druhé straně hromadu důležitých konstrukcí nemá a v blízké době mít ani nebude (moduly + aplikativní/generativní funktory, GADT, řádkový polymorfismus (row polymorphism) + polymorfní varianty, implicity/typové třídy, algebraické efekty).