OCaml a jeho výhody

jozif

Re:OCaml a jeho výhody
« Odpověď #15 kdy: 24. 05. 2016, 19:47:42 »
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:

Kód: [Vybrat]
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í.

Citace
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).

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


Radek Miček

Re:OCaml a jeho výhody
« Odpověď #16 kdy: 24. 05. 2016, 22:00:33 »
No to ste tomu dali. Ked si niekto neznaly precita vas prispevok, nadobudne dojem ze F# je extremne zabugovany a nepouzitelnt jazyk.

To jsem říci nechtěl - F# je určitě lepší než většina mainstreamových jazyků.

mikrom

Re:OCaml a jeho výhody
« Odpověď #17 kdy: 24. 05. 2016, 23:25:49 »
... příkladem je
kód, který se chová jinak při odsazení 2 a 4 mezerami:
Kód: [Vybrat]
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
To je celkom zaujimave.
A tento isty kod funguje v OCamle spravne ale v F# nespravne ?

Radek Miček

Re:OCaml a jeho výhody
« Odpověď #18 kdy: 24. 05. 2016, 23:57:54 »
To je celkom zaujimave.
A tento isty kod funguje v OCamle spravne ale v F# nespravne ?

V OCamlu se to vůbec nepřeloží - chybí tam klíčové slovo in (F# toto klíčové slovo doplní při lexikálním filtrování na základě odsazení; v OCamlu na odsazení nezáleží).

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:OCaml a jeho výhody
« Odpověď #19 kdy: 25. 05. 2016, 11:42:06 »
F# toto klíčové slovo doplní při lexikálním filtrování na základě odsazení; v OCamlu na odsazení nezáleží.
Zajímavá informace, tohle jsem se nikde nedočetl, děkuji.


Radek Miček

Re:OCaml a jeho výhody
« Odpověď #20 kdy: 25. 05. 2016, 18:49:43 »
F# toto klíčové slovo doplní při lexikálním filtrování na základě odsazení; v OCamlu na odsazení nezáleží.
Zajímavá informace, tohle jsem se nikde nedočetl, děkuji.

Lze to najít přímo ve specifikaci F# v kapitole 15 o lexikálním filtrování.

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:OCaml a jeho výhody
« Odpověď #21 kdy: 26. 05. 2016, 12:17:59 »
Lze to najít přímo ve specifikaci F# v kapitole 15 o lexikálním filtrování.
no jo, je tu už na straně 279...  :)

Wichser

Re:OCaml a jeho výhody
« Odpověď #22 kdy: 15. 09. 2018, 19:37:49 »
Ocaml sa podobne ako Haskell pouziva pri vyuke, ale aj v praxi
https://ocaml.org/learn/success.html
Skusal som ho, ale nenasiel som pren prave vtedy prakticke pouzitie.
Keby exitovalo nieco ako Ocaml pre JVM, tak to by bolo super.

Vzhladom na to, ze OCaml ma 100% na PLEAC, to vyzera byt velmi prakticky pouzitelny jazyk.
http://pleac.sourceforge.net/pleac_ocaml/index.html
Takze az budem chciet prakticky funcionalny jazyk, je pre mna OCaml kandidat #1.

Btw. i pred par rokmi vychvalovany F# od MS je syntakticky vraj OCaml pre .NET
Neni som si isty ci sa F# stale este propaguje, pretoze MS stale zavadza nejake prevratne technologie, ktore zachvilu prestane podporovat  ;D
  :)