Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: MicrosoftiPoskok666 23. 05. 2016, 08:49:48

Název: OCaml a jeho výhody
Přispěvatel: MicrosoftiPoskok666 23. 05. 2016, 08:49:48
Zdravím,
chtěl jsem se zeptat, k čemu se primárně používá OCaml a používá se vůbec? Když jsem koukal do žebříčků jazyků, tak jakoby se po něm slehla zem, místo něho jsem našel akorát Haskell a Scalu a u Clojure si nejsem jistý.
Název: Re:OCaml a jeho výhody
Přispěvatel: Ondra Satai Nekola 23. 05. 2016, 08:56:02
https://facebook.github.io/reason/index.html
Název: Re:OCaml a jeho výhody
Přispěvatel: pavels 23. 05. 2016, 10:21:49
Stejně tak by mě zajímalo, jak je na tom TCL (hovorově Tykl). Používá se ještě?
Název: Re:OCaml a jeho výhody
Přispěvatel: Kit 23. 05. 2016, 10:43:49
Stejně tak by mě zajímalo, jak je na tom TCL (hovorově Tykl). Používá se ještě?

Založ si na to vlastní vlákno a možná se o něm i něco dozvíš.
Název: Re:OCaml a jeho výhody
Přispěvatel: pavels 23. 05. 2016, 11:50:57
Stejně tak by mě zajímalo, jak je na tom TCL (hovorově Tykl). Používá se ještě?

Založ si na to vlastní vlákno a možná se o něm i něco dozvíš.

Proč? Je tu naprosto běžné, že diskuze na rootu odbíhají od původního dotazu.

Název: Re:OCaml a jeho výhody
Přispěvatel: MicrosoftiPoskok666 23. 05. 2016, 13:17:36
https://facebook.github.io/reason/index.html

Děkuji za odkaz, pročetl jsem si ho, avšak moc odpovědí jsem tam nenašel třeba něco jako ve stylu "Why use Reason?", nemluvím o tom, že je to mírně upravený OCaml i když plně kompatibilní.
Každopádně děkuji za aspoň jedinou smysluplnou odpověď.
Název: Re:OCaml a jeho výhody
Přispěvatel: mimi 23. 05. 2016, 13:50:04
https://ocaml.org/learn/companies.html (https://ocaml.org/learn/companies.html)
Název: Re:OCaml a jeho výhody
Přispěvatel: skacr 23. 05. 2016, 16:05:37
Stejně tak by mě zajímalo, jak je na tom TCL (hovorově Tykl). Používá se ještě?

Napriklad F5 ho stale pouziva v "application delivery" zariadeniach na pisanie pravidiel a manipulaciu s trafficom.
Název: Re:OCaml a jeho výhody
Přispěvatel: Wavelet 23. 05. 2016, 19:47:58
https://blogs.janestreet.com/category/ocaml/
Jane Street, Facebook ... ho používají -- jinak hodně si z něho vzal Rust.

Tohle je docela zajímavý: http://roscidus.com/blog/blog/2014/06/06/python-to-ocaml-retrospective/

Název: Re:OCaml a jeho výhody
Přispěvatel: pr 23. 05. 2016, 20:38:08
O F# se říká, že je to Ocaml... pokud Vám to nějak pomůže... ;)
Název: Re:OCaml a jeho výhody
Přispěvatel: mikrom 23. 05. 2016, 20:48:13
Stejně tak by mě zajímalo, jak je na tom TCL (hovorově Tykl). Používá se ještě?
Ano Tcl/Tk sa bezne pouziva. Ak mas zaujem tu je celkom zive forum, kde chodim aj ja
http://www.tek-tips.com/threadminder.cfm?pid=287
Název: Re:OCaml a jeho výhody
Přispěvatel: mikrom 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
Název: Re:OCaml a jeho výhody
Přispěvatel: Radek Miček 23. 05. 2016, 21:38:35
chtěl jsem se zeptat, k čemu se primárně používá OCaml a používá se vůbec?

Používá se. K čemu primárně je těžké odpovědět - velmi dobře si vede při programování SW pro symbolické výpočty - např. kompilátory a dokazovače.

Velký potenciál vidím v ocaml-multicore (který by mohl být do hlavní větve OCamlu zařazen tento rok), jenž mj. usnadní psaní asynchronních výpočtů, generátorů apod. (IMO výrazně lepší přístup než má C#, Python, JavaScript a další mainstreamové jazyky).
Název: Re:OCaml a jeho výhody
Přispěvatel: jozif 24. 05. 2016, 04:59:08

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


Je sucastou visual studia ako jeden z hlavných jazykov a kazda verzia prinasa nieco nove stadial sa potom novinkami inspiruje C#. Ale F# sa od ocaml trosku lisi ma o nieco intuitivnejsiu syntax. Napr retazce sa nespajaju operatorom ^ ale +. ma kopu novych konstrukcii ktore ocaml uplne chybaju o jeho vyvoj sa nestara len samotny ms ale aj fsharp fundation. na druhej strane Microsoft Research podporuje vyvoj dalsieho podobneho jazyka F* (FStar) ktory je este o krok pred F# a ma este omnoho komplexnejsi typovy system.
Název: Re:OCaml a jeho výhody
Přispěvatel: Radek Miček 24. 05. 2016, 18:01:31
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 (https://github.com/Microsoft/visualfsharp/issues/1019):

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).
Název: Re:OCaml a jeho výhody
Přispěvatel: jozif 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 (https://github.com/Microsoft/visualfsharp/issues/1019):

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
Název: Re:OCaml a jeho výhody
Přispěvatel: Radek Miček 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ů.
Název: Re:OCaml a jeho výhody
Přispěvatel: mikrom 24. 05. 2016, 23:25:49
... příkladem je
kód, který se chová jinak při odsazení 2 a 4 mezerami (https://github.com/Microsoft/visualfsharp/issues/1019):
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 ?
Název: Re:OCaml a jeho výhody
Přispěvatel: Radek Miček 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ží).
Název: Re:OCaml a jeho výhody
Přispěvatel: x14 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.
Název: Re:OCaml a jeho výhody
Přispěvatel: Radek Miček 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# (http://fsharp.org/specs/language-spec/4.0/FSharpSpec-4.0-latest.pdf#279) v kapitole 15 o lexikálním filtrování.
Název: Re:OCaml a jeho výhody
Přispěvatel: x14 26. 05. 2016, 12:17:59
Lze to najít přímo ve specifikaci F# (http://fsharp.org/specs/language-spec/4.0/FSharpSpec-4.0-latest.pdf#279) v kapitole 15 o lexikálním filtrování.
no jo, je tu už na straně 279...  :)
Název: Re:OCaml a jeho výhody
Přispěvatel: Wichser 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
  :)