• ú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_ --- ---
      CABOWITZ: stack init --verbose

      SATAI: googlit stack s 'build' a 'haskell'?
      SATAI
      SATAI --- ---
      LUDWIG_: hkavi vyhoda cabalu, kterou jsem za tu dobu nasel, je, ze to dobre zni, kdyz popisujes, co delas. A hlavni nevyhoda stacku je v tom, ze je to obecne podstatne jmeno a spatne se googli.
      LUDWIG_
      LUDWIG_ --- ---
      CABOWITZ: cabal je masochismus po vsech strankach. stack ma nekolik vrstev cache, ktery jsou sdileny mezi jednotlivymi projekty, takze na rozdil od cabal sandboxu se nemusi vsechny knihovny a jejich zavislosti znova zkompilovat a zkopirovat.
      CABOWITZ
      CABOWITZ --- ---
      SATAI: njn, vim, uvazoval jsem o tom, ale jeste jsem to nezkousel.hm, proste celkove me ta situace ktere se rika cabal hell torchu dere. zkusim stack a dam vedet (zase mi ale trochu vadi, ze clovek musi delak kvuli jedne aplikaci takovou virtualni "zahradku", takhle mam uz v sandboxech vic ruznych veci a co se tyce objemu dat, tak to pak celkem nehezky roste)
      SATAI
      SATAI --- ---
      CABOWITZ: Prvni pomoc na zmatene zavislosti je IMO vykaslat se na cabal a zkusit to buildit stackem.
      CABOWITZ
      CABOWITZ --- ---
      ahoj, jsem v haskellu porad na zacatku, prochazim priklady, zkousim implementovat veci ze zakladni knihovny, zbezne se orientuju v typech, funkcich vyssiho radu, obcas se rekurzivne zacyklim, jasne monady jsou jako burritos, ale mozna spis ani ne. atd. dobre se mi uci podle programming in haskell od g. huttona, obcas kouknu do LYHGG. ve druhem opakovacim kole bych si dal rad nejaky projektove orientovany pristup...

      protoze delam trochu do hudby a jeste specificteji do livecodingu (mame dokonce kapelu :-) - kdyby chtel treba nekdo zahrat na programatorske party tak posta :-)) , tak jsem zkusil tidal, coz je pomerne expresivni nadstavba nad haskellem k vytvareni rytmickych sekvecni (daji se i vizualizovat). tidal cabal zvladne nainstalovat bez problemu. krom toho ale existuje jeste conductive, kterou jsem chtel vyzkoust. jsou toho 4 balicky, pricemz tri nainstaluju bez problemu, ale pri cabal install conductive-hsc3 to hodi error. >> conductive-hsc3-0.3.1 depends on hosc-0.11.1 which failed to install. >> hosc-0.11.1 je implementace OSC protokolu a tahle knihovna je uz dost stara, aktualni verye je 0.15.

      pojal jsem mozna pro zacatecnika az prilis ambiciozni pristup a rekl jsem si, ze bych na conductive-hsc3 zapracoval a pokusil se ji aktualizovat tak, aby fungovala s hosc-0.15. vsehovsudy jsouto jen dva kratke zdrojaky. autor kodu renick bell je ted zaneprazdnen a nema na to cas. xoxo. no tady se dostavam k tomu, ze pokud by nahodou nekdo ze zkusenejsich tady mohl poradit / nakopnout / podivat se na to, tak budu moc vdecny... tak k popisu problemu, ehm:

      jsem na ubuntu 14.04, ghc 7.10.2.20151102, cabal 1.22.4.0 - instaluju do sandboxu.
      po prvni neuspesne kompilaci jsem v balicku conductive-hsc3-0.3.1 zkusil zmenit v souboru conductive-hsc3.cabal sekci Build-depends a zvysil verzi balicku hsc na: hsc3 >= 0.11 && *mensi nez* 0.16. cabal pak zacne tahat a pokouset se kompilovat s aktualni verzi knihovny hosc-0.15. tohle samozrejme vyplivlo take chyby (Sound/Conductive/HSC3Utilities.hs:12:8: Could not find module ‘Sound.OpenSoundControl’ a pak jeste Sound/Conductive/Synths.hs:21:8: Could not find module ‘Sound.SC3.ID’) protoze knihovny se kteryma byla conductive puvodne psana se posunuly dopredu...

      takze jsem si prosel hackage a podival se jak se balicek hosc od verze 0.11 k 0.15 zmenil a provedl jsem drobnejsi upravy ve zdrojacich conductive. v souboru HSC3Utilities.hs jsem zmenil "import Sound.OpenSoundControl" na "import Sound.OSC" a to same v souboru Synths.hs, ve kterem jsem jeste nevic vykomentoval radek, takze: "--import Sound.SC3.ID". tohle pak vede k dalsi chybe, ktera se v kodu opakuje - obecne jde o radky, kde jsou definovany typy funkci. (napr. pingDef :: IO OSC nebo defineSynth :: UGen -> String -> IO OSC). a chybova hlaska je: "Expecting one more argument to ‘OSC’ The first argument of ‘IO’ should have kind ‘*’, but ‘OSC’ has kind ‘* -> ghc-prim-0.4.0.0:GHC.Prim.Constraint’" takze se ocividne nekde v historii s tema typama nejak pohnulo. hm, ja zkousel experimentovat, dohledavat definice typu na hackage, taky jsem ty definice typu zkousel vykomentovat aby si je kompiler moudre doplnil sam, ale nic nepomohlo. je to na me jeste moc... xixi...

      odhaduji, ze navstevnici tohoto auditka asi maji na starosti jine veci nez se hrabat v obskurnich knihovnach a resit takovehle zavislosti, ale kdyby se tu nejaky odvazlivec nahodou nasel, tak budu za nejakou radu / tipy jak se timhle probrat ke zdarnemu reseni fakt vdecny... (pivka a tak... :)) pokud ne, tak treba aspon mrknete na ten tidal, je to celkem zabava...
      LISKNI_SI
      LISKNI_SI --- ---
      ESTEN: Asi akorát čekal, že se nenajde dost lidí, co by to nahlásili jako spam. A asi se fakt nenašlo, když to tu furt straší. :-(
      ESTEN
      ESTEN --- ---
      MAGDENZII: vazne cekas, ze si tady nekdo rekne "seru na lisp, jdu delat v php"? ;)
      KAMAHL
      KAMAHL --- ---
      LUDWIG_
      LUDWIG_ --- ---
      Why we’re no longer using Core.typed | The Circle Blog
      http://blog.circleci.com/why-were-no-longer-using-core-typed/
      LUDWIG_
      LUDWIG_ --- ---
      V Plzni zadna FP skupina neni, ale je tam na namesti tahle fontana/kasna:

      JINX
      JINX --- ---
      LUDWIG_
      LUDWIG_ --- ---
      post-rfc/sotu.md at master · Gabriel439/post-rfc · GitHub
      https://github.com/Gabriel439/post-rfc/blob/master/sotu.md
      SATAI
      SATAI --- ---
      mám s tím trochu problém, ale kus pravdy v tom je:

      Haskell for all: How to make your Haskell code more readable to non-Haskell programmers
      http://www.haskellforall.com/2015/09/how-to-make-your-haskell-code-more.html
      LISKNI_SI
      LISKNI_SI --- ---
      LITTLELI: Zajímavý, neznal jsem. Nicméně teda JVM obecně vnímám jako spíš nevýhodu než výhodu, takže bych asi radši použil rovnou Haskell. Pokud už nutně musí zůstat JVM, tak asi něco jako tohle: https://github.com/neurocyte/foreign-jni

      (a třeba na to brzo dojde, Scala/JVM mě začíná trochu srát.)
      LITTLELI
      LITTLELI --- ---
      A co třebas Frege? :-)
      frege/README.md at master · Frege/frege · GitHub
      https://github.com/Frege/frege/blob/master/README.md
      ALMAD
      ALMAD --- ---
      LISKNI_SI: Mě to přijde naopak vypovídající, nemůžeš měnit stav té druhé skupiny...
      LISKNI_SI
      LISKNI_SI --- ---
      Ještě jednou Brno, další skupina s meetupama a dokonce i maillistem s jobama: http://fpbrno.github.io/
      (trochu komické, že je nás tu ani ne 5 a půl a vzniknou nezávisle 2 skupiny, co o sobě nevědí)
      LUDWIG_
      LUDWIG_ --- ---
      Videa z Curry On jsou na tomhle kanale:

      https://www.youtube.com/channel/UC-WICcSW1k3HsScuXxDrp0w
      LUDWIG_
      LUDWIG_ --- ---
      Curry On Prague! 2015
      http://www.curry-on.org
      Kliknutím sem můžete změnit nastavení reklam