Citace od: Radek Miček kdy 24. 05. 2016, 18:01:31
Citace od: jozif kdy 24. 05. 2016, 04:59:08
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í.
Citacema 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).
No to ste tomu dali. Ked si niekto neznaly precita vas prispevok, nadobudne dojem ze F# je extremne zabugovany a nepouzitelnt jazyk. Urcite F# obsahuje nejake chyby tak ako kazdy zlozitejsi software, ale rozhodne to neni az take zle ako to tu vykreslujete. Ja som za 5 rokov co v F# programujem s chybami do kontaktu este neprisiel. Zato v inych jazykoch (Ruby, JS) mam rozne aha momenty neustale vid
https://www.youtube.com/watch?v=2pL28CcEijU