• ú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í
    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/
    Kliknutím sem můžete změnit nastavení reklam