• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LUDWIG_Funkcionální programování (Haskell, LISP, XQuery, OCaml, F#, Scala, ...) - praxe, teorie a uplatnění

    Clojure's core typed vs Haskell

    8 hlasy od 8 respondentů
      A monad is just a monoid in the category of endofunctors, what's the problem? http://vimeo.com/38223410



      All programming languages evolve towards Lisp.

      Haskell is faster than C++, more concise than Perl, more regular than Python, more flexible than Ruby, more typeful than C#, more robust than Java, and has absolutely nothing in common with PHP. — Autrijus Tang

      There may, indeed, be other applications of the [lambda calculus] than its use as a logic. — Alonzo Church, 1932
      rozbalit záhlaví
      LUDWIG_
      LUDWIG_ --- ---
      UETOYO: je nepovinna, takze je to spis extra dokumentace pro ostatni (a sanity check pro refactoring)... inference to odhadne vetsinou spravne - kdyz clovek potrebuje nejaky extra vykon, tak jak pise ANT_39... jsou typy pro unsafe string, unboxed numeriku apod.
      ANT_39
      ANT_39 --- ---
      UETOYO: Signatura je nepovinna, ale urcite se tam dela staticka inference typu, takze prekladac muze optimalizovat. Takovy ghc to AFAIK i dela, ale nemam moc tuseni, jak dobre. Na shootoutu snad byly nejaky vysledky, co naznacovaly, ze kdyz clovek strategicky pouzive nejaky ty unsafe stringy atp., tak to beha temer C rychlosti, ale to zas tak moc neznamena.
      ANT_39
      ANT_39 --- ---
      UETOYO: Teoreticky muze, Common Lisp na to tusim ma nejaky anotace, pomoci kterych jde nak pozicovat funkce na skale mezi rychlosti a bezpecnosti, ruzne scheme kompilatory umely na zaklade staticke analyzy nejake veci vydedukovat a tak. Jak je to v praxi, nevim, tady na tohle tema mluvival ID Sad0ur, ale uz jsem ho tu nakou dobu nevidel.
      LUDWIG_
      LUDWIG_ --- ---
      UETOYO: jj, "The Lisp family of languages are all "strongly typed" in the sense that typing errors are prevented at runtime."
      LUDWIG_
      LUDWIG_ --- ---
      LITTLELI: ja bych pozitivni prinos videl jen ve dvou pripadech LUDWIG_ (ve smyslu ze snizenou produktivitu pri kodeni vyvazi potencialne min debugovani a udrzitelnejsi system); jinak to imho smysl postrada
      LITTLELI
      LITTLELI --- ---
      pokud někdo (volitelně) anotuje typy, tak to pro něj (nebo skupinu) předpokládám má nějaký pozitivní význam z hlediska produktivity. jinak to jaksi postrádá smyslu, že?
      WILD_A
      WILD_A --- ---
      LITTLELI: Pouzil jsem sice ostry vyrazy, hlavne ve snaze vyvolat nejakou diskuzi, ale osobne to fakt vnimam jako nahrazku v nouzi, kdyz to teda nejde jinak. A jinak viz LUDWIG_.
      LUDWIG_
      LUDWIG_ --- ---
      LITTLELI: je to volitelne (=> min uzitecne: nedokaze to z principu odchytit radu veci, co staticke jazyky zvladnou) a musi to byt explicitne vypsane (=> min produktivni oproti untyped Clojure nebo statickym jazykum s inferenci)
      LITTLELI
      LITTLELI --- ---
      WILD_A: tak mně zas přijde, že to takhle nestojí. Mít takovou možnost volitelně mi přijde dost užitečné a rozhodně ne "lámání" nebo nějaké "znásilňování". Docela to odpovídá filosofii Clojure.
      WILD_A
      WILD_A --- ---
      LUDWIG_: Z toho teda flejm nekouka, nejak neumim zaujmout jiny stanovisko nez je to tvoje. Clojure je Lisp a Lisp je jakej je a ma svoje vyhody a ja jsem velkej fanousek. Pokud mi z nejakyho duvodu Lisp nevyhovuje tak proc ho znasilnovat a lamat vzdyt tu jsou i jiny jazyky, za mne treba OCaml, Haskell jsem se zatim moc nenaucil.

      Odbocka ve forme nadavani na pomery, mne osobne prijde snaha nacpat do kazdyho jazyka vsechno co umej ostatni fakt hloupa, pokud danej jazyk v jadru nevyhovuje tak ho prece nepouzivam a zvolim si lepsi nastroj, prirovnavam to k remeslnikovi, ten taky nema na vsechno kladivo, teda pokud je dobrej.
      LUDWIG_
      LUDWIG_ --- ---
      WILD_A: tak hura do toho - mne osobne ten Typed Clojure prijde jako z nouze cnost, pokud je tym a hafec kodu v Clojure nebo clenove tymu, co nic jineho nez Clojure neumi/neuznavaji... na solo projekty mi to prijde zbytecny a staci untyped Clojure a na vsechno ostatni jsou tu staticke jazyky s chytrou inferenci :)
      WILD_A
      WILD_A --- ---
      LUDWIG_: To je imo i pekny tema na flejm :)
      LUDWIG_
      LUDWIG_ --- ---
      dynamicky jazyk s volitelnymi typy, nebo staticky jazyk s chytrou inferenci? to by mozna bylo na anketu
      LITTLELI
      LITTLELI --- ---
      Dvě starší věci, který mě teď v pátek po přednášce v práci zaujaly
      Why we’re supporting Typed Clojure, and you should too! | The Circle Blog
      http://blog.circleci.com/supporting-typed-clojure/
      Clojure's core.typed vs Haskell - Adam Bard and his magical blog
      http://adambard.com/blog/core-typed-vs-haskell/
      LUDWIG_
      LUDWIG_ --- ---
      Bret Victor - The Future of Programming
      http://vimeo.com/71278954
      LUDWIG_
      LUDWIG_ --- ---
      LITTLELI: skvela prednaska, ale nesouhlasil bych ohledne typovy inference - jak nekdo napsal v diskuzi pod tim, v F# je to uzitecny, jen si clovek musi praxi vybudovat urcitou intuici
      LITTLELI
      LITTLELI --- ---
      Reference z předchozího talku...
      Room 101: Maybe Monads Might Not Matter
      http://gbracha.blogspot.cz/2011/01/maybe-monads-might-not-matter.html
      Room 101: Chased by One’s Own Tail
      http://gbracha.blogspot.cz/2009/12/chased-by-ones-own-tail.html
      LITTLELI
      LITTLELI --- ---
      Deconstructing Functional Programming
      http://www.infoq.com/presentations/functional-pros-cons
      LUDWIG_
      LUDWIG_ --- ---
      What Every Hipster Should Know About Functional Programming
      http://bodil.org/hipster/#/

      Of Algebirds, Monoids, Monads, and other Bestiary for Large-Scale Data Analytics - Michael G. Noll
      http://www.michael-noll.com/...3/12/02/twitter-algebird-monoid-monad-for-large-scala-data-analytics/

      Announcing Scala.js v0.1 | The Scala Programming Language
      http://www.scala-lang.org/news/2013/11/29/announcing-scala-js-v0.1.html
      Kliknutím sem můžete změnit nastavení reklam