• ú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í
      CABOWITZ
      CABOWITZ --- ---
      UETOYO: ahh, no dobre, tak treba: schönfinkeling, funkce vyssiho radu, lambda kalkulus, kompozice funkci atd. jasne muzes napsat a historicky dohledat ze tohle je v tamtom jazyku taky, a tohle se zase prvni objevilo onde, ale ja jsem se se vsema temahle konceptama seznamil a trochu lip si je uvedomil prave diky studiu haskellu a to pekne v jednoum kompaktnim "balicku". pred tim jsem jak vis znal nanejvys basic a assembler na zx spectru, trocha pythonu a pure data, takze moje odpoved neni nijak zvlast relevantni...
      UETOYO
      UETOYO --- ---
      CABOWITZ: Dobře -- typový systém si tedy nakonec nenapsal --- co tedy jsi nikde nepotkal?
      CABOWITZ
      CABOWITZ --- ---
      UETOYO: mind-banding a nutnost studia veci o kterych jsem pri kontaktu s jinyma jazykama nemel ani potuchy (puvodne jsem chtel napsat typovy system, xoxo)
      UETOYO
      UETOYO --- ---
      CABOWITZ: Však si ho zasloužím -- od tebe cokoliv .) -- Kdybys měl vypíchnou jednu vlastnost Haskellu, která je nad všechny jazyky -- co by to bylo?
      CABOWITZ
      CABOWITZ --- ---
      zkusim dotaz jen tak od boku: jake prakticke aplikace jste v haskellu resili / resite? jde mi o to, ze bych si v tom druhem studijnim kole dal rad nejaky projektove orientovany pristup a konecne si naprogramoval neco jineho nez faktorial na 50 zpusobu nebo algoritmus ktery dela nejake operace nad retezcema, ehm... v ucebnici od a. s. mena na tohle tema se resi parsovani a data mining, coz je bezesporu zajimava oblast ale preci jen - jeste nejake jine tipy na oblasti, ktere by bylo v haskellu dobre zkusit? mne proste prijde ze funkcionalni jazyky jsou obecne vhodne na praci s DSP, se signalem a jeho "tokem". viz napr. faust...
      CABOWITZ
      CABOWITZ --- ---
      UETOYO: nebudu delat paradigmaticke kotrmelce, takze bud mi pomoz s problemem popsanym nize, nebo si pockej az budu resit problem tykajici se daneho jazyka v patricnem auditku. krom toho ocaml ani python mnee vzhledem k tomu, ze chci delat s knihovnama urcenyma pro livecoding, ktere byly napsane v haskellu fakt nijak nepomuze...
      UETOYO
      UETOYO --- ---
      UETOYO: Functional programming in Python -- už se netrap :) http://www.oreilly.com/programming/free/functional-programming-python.csp
      CABOWITZ
      CABOWITZ --- ---
      UETOYO: ten mi fakt co se knihoven tyce takovy rozhled jako haskell neposkytne, takze ne...

      jiank stack se mi zatim jevi jako vetsi hell nez cabal, v stacku se mi nepodarilo narozdil od cabal sandbox pristupu zkompilovat vubec nic...
      UETOYO
      UETOYO --- ---
      CABOWITZ: Haskell --> OCaml :), čau
      LUDWIG_
      LUDWIG_ --- ---
      CABOWITZ: stack init --verbose

      SATAI: googlit stack s 'build' a 'haskell'?
      CABOWITZ
      CABOWITZ --- ---
      aaah neee - wtf?
      stack init
      stack: out of memory (requested 1048576 bytes)
      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:

      Kliknutím sem můžete změnit nastavení reklam