• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    LITTLELIScala, Clojure, Groovy... Polyglot development with JVM
    Scala, Clojure, Yeti
    Kotlin, Ceylon

    Graalvm - polyglot virtual machine and runtime
    rozbalit záhlaví
    KARM_
    KARM_ --- ---
    Ad Graalvm: Ano. Puvodne mixed feelings, ale zlepsuje se to. Ted po roce od tvyho postu je to uplne neco jinyho :-)
    LITTLELI
    LITTLELI --- ---
    Zajimalo by me, jestli si hrajete nekdo s Graalvm a jake zkusenosti s tim mate?
    LITTLELI
    LITTLELI --- ---
    KEJML: trvalo mi bezmála 2 roky odpovědět :-) https://arrow-kt.io/
    KEJML
    KEJML --- ---
    Dělátu tu někde v Kotlinu, až doma nebo v práci? Celkově po funkcionálním programování zatím jen pokukuju. Pár lidí kolem mne zná trochu Scalu a říkají, že chci pattern matching a že proto Kotlin moc nestudjí. Navíc i nabídek práce se Scalou je víc, ale občas se nějakej Kotlin vyskytne - teď jsem zrovna narazil na nějakou, kde používají tu kompilaci Kotlinu do JS. Funguje to dobře, nebo je s tím občas nějaké mrzení?
    REDGUY
    REDGUY --- ---
    RUDOLF: Urcite bych se pouziti externich toolu snazil vyhnout pokud to jen trochu jde. Parsovani vystupu je oser, reseni chyb je oser... a celej find asi implementovat nemusis. A pokud se pri tom chces ucit clojure, tak cim vic clojure, tim vic uceni 8)
    RUDOLF
    RUDOLF --- ---
    SATAI: jestli použitelná nevím: http://ecmendenhall.github.io/sicpclojure/ , pak je sicp destilled - každopádně myslím že Rickey to vystihl v úvodu dobře.. ale já poslouchám ty původní přednášky v lisp, mně jde spíš o tu teorii, jak rozumět programování jako činnosti. Příklady jsem ještě nezkoušel, od toho mám tu aplikaci do práce. Ale living clojure je sympatický úvod. Nikdy jsem se nezabýval vývojem, tak je to pro mně novej svět, ale funkcionální programování vypadá zábavně, tak se ho chci držet.
    SATAI
    SATAI --- ---
    RUDOLF: Uz existuje pouzitelna SICP mutace pro Clojure nebo si to prekladas ze Scheme do Clojure?
    RUDOLF
    RUDOLF --- ---
    REDGUY: sql je jasný.. šlo mi o výstupy z find apod.. tj. find mi vrátí data, clojure je zpracuje a narve do DBS, md5 mi vrátí data, clojure je zpracuje a narve do DBS. Clojure jen parsuje, pracuje s DBS, porovnává data s DBS a na požádání iniciuje nějaký skript, jehož vstup zpracuje. Vstupy lezou ze standardních linux nástrojů a clojure dělá všechno ostatní.

    No asi se cítím nejistý, že zvládnu dobře implementovat find/md5 jiný gnu utility:-) Tj. pokud bych třeba řešil procházení adresářové struktury, použiji java.io/file, stejně tak to bude pro chmod operace - použiju PosixFilePermission.. takže myslíš že mám jít spíš touhle cestou, než zpracovávat jen vstupy z gnu nástrojů?
    REDGUY
    REDGUY --- ---
    RUDOLF: A proc to vsechno nenapises rovnou v clojure? Co ziskas tema skriptama? Na SQL mas hned nekolik prima knihoven, md5 pocitat neni problem... proc si pridelavat praci s komunikaci mezi clojure a shellem? Data, vyjimky, stav, to vsechno musis predavat tam a zpatky, coz mi prijde jako desnej oser...
    RUDOLF
    RUDOLF --- ---
    Zdar, ve volným čas zkouším clojure. Poslouchám sicp, rozečtl jsem living clojure, nahodil ring+compojure+hiccup a zkusil na to narvat bootstrap. A cajk, na tom funkcionálního programování moc není, cítím se jak začínající phpkář:-)

    Každopádně bude to appka s web UI do práce, takovej data management. DBS bude obsahovat soubory v úložišti, metadata jako md5, zda už byli ingestovaný do jinýho systému apod. Appka bude validovat jestli jsou správný soubory ve správný složce, jestli je tam správná struktura adresářů, jestli jména souborů odpovídají patternu, jestli souhlasej nově vygenerovaný md5 apod. Na výstupu člověk uvidí jestli sesložky zelenaj, nebo jestli oranžoví a něco tam nesedí, či vysloveně rudej průser. Ty data byli od r. 2001 manažovaný ručně, tak je třeba zjistit různé formální nekonzistence. Plus je třeba držet statistiku kolem těch souborů.

    Teď mi připadá jako dobrý nápad, že ta moje appka bude jen managovat různý bash skripty. Tj. tlačítkem pustím tenhle skript, ať mi aktualizuje md5 a výstup v appce narvu do databáze, ať je tam timestamp kontroly s md5. Appka porovná záznamy, všechno cajk a ukáže se datum poslední kontroly + půjde rozkliknout historii přechozích kontrol.

    No a potřeboval bych poradit, jak nejlépe komunikovat mezi mojí aplikací a bashovýma skriptama. Případně mi říct, že na to jdu špatně a měl bych to řešit jinak:-)
    MARASAN
    MARASAN --- ---
    pisete nekdo Clojure ve VIMu?
    Pripojim-li se na REPL a v nem se objevi vyjimka - v mem pripade "java.io.IOException: Broken pipe" na TCP - tak mi vim zmrzne a nevim, co dal, co muzu delat. Da se to njak resit?
    LUDWIG_
    LUDWIG_ --- ---
    neco jako node.js pro JVM:

    http://vertx.io
    REDGUY
    REDGUY --- ---
    A at sem napisu taky neco uzitecnyho: pokud to jeste nahodou nevite, tak Light Table = rozkos.
    Light Table
    http://www.lighttable.com/
    REDGUY
    REDGUY --- ---
    LITTLELI: Nehledam, tomu se nedavaji (explicitni) dvojice.

    Co me (iracionalne) irituje je, ze ty funkce rikaji "Do tyhle, v mym pripade prazdny mapy nastrkej tyhle (ruznym zpusobem specifikovany) hodnoty a vrat mi vysledek". Co my chybi je funkce, ktera rika "Z tehle hodnot udelej novou mapu". A to navic tak, aby ty hodnoty byly zadany jako vektor dvouprvkovejch (k/v) vektoru.

    Ale jak rikam, to je jen moje OCD 8)
    LITTLELI
    LITTLELI --- ---
    a protože jsem slepej, že...
    ClojureDocs - clojure.core/assoc-in
    http://clojuredocs.org/clojure_core/clojure.core/assoc-in
    LITTLELI
    LITTLELI --- ---
    já sem možná natvrdlej, ale lepší bejt za troubu hned, nehledáš tohle?
    ClojureDocs - clojure.core/assoc
    http://clojuredocs.org/clojure_core/clojure.core/assoc
    REDGUY
    REDGUY --- ---
    LITTLELI: Diky, ale spatne jsem se vyjadril, myslel jsem vylozene funkci v clojure.core, ktera bere (jen) seq of pairs a vraci mapu. Ale taky dobry 8)
    LITTLELI
    LITTLELI --- ---
    REDGUY: zkusim :)

    (apply array-map (flatten [[:k1 1] [:k2 2] [:k3 3]]))
    REDGUY
    REDGUY --- ---
    Jakej je oficialni zpusob, jak v clojure udelat mapu ze sequence dvouprvkovejch vektoru [key value]?

    Delam to (into {} [[:k1 1] [:k2 2] [:k3 3]]), ale prijde mi to takovy osklivy, tim ze tam je ta prazdna mapa na zacatku. Fakt na to neni nejakej dedikovanej "konstruktor", nebo jsem ho jen prehlidl?

    (ano, je to prkotina, ale to ze me mluvi moje OCD. Diky za toleranci 8) )
    SATAI
    SATAI --- ---
    Kliknutím sem můžete změnit nastavení reklam