OCaml a jeho výhody

jozif

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


Radek Miček

Re:OCaml a jeho výhody
« Odpověď #16 kdy: 24. 05. 2016, 22:00:33 »
Citace od: jozif kdy 24. 05. 2016, 19:47:42
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 »
Citace od: Radek Miček kdy 24. 05. 2016, 18:01:31
... 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

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 »
Citace od: mikrom kdy 24. 05. 2016, 23:25:49
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
Re:OCaml a jeho výhody
« Odpověď #19 kdy: 25. 05. 2016, 11:42:06 »
Citace od: Radek Miček kdy 24. 05. 2016, 23:57:54
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 »
Citace od: x14 kdy 25. 05. 2016, 11:42:06
Citace od: Radek Miček kdy 24. 05. 2016, 23:57:54
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
Re:OCaml a jeho výhody
« Odpověď #21 kdy: 26. 05. 2016, 12:17:59 »
Citace od: Radek Miček kdy 25. 05. 2016, 18:49:43
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 »
Citace od: mikrom kdy 23. 05. 2016, 21:30:52
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
:)