This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-31
Channels
- # beginners (9)
- # boot (38)
- # cider (7)
- # cljs-dev (181)
- # cljsrn (49)
- # clojure (136)
- # clojure-italy (44)
- # clojure-losangeles (1)
- # clojure-news (1)
- # clojure-russia (3)
- # clojure-sanfrancisco (1)
- # clojure-serbia (2)
- # clojure-spec (28)
- # clojure-uk (41)
- # clojure-ukraine (1)
- # clojurescript (103)
- # core-async (6)
- # core-logic (46)
- # cursive (5)
- # data-science (8)
- # datascript (6)
- # datomic (5)
- # emacs (35)
- # events (3)
- # jobs (2)
- # jobs-rus (2)
- # juxt (6)
- # lumo (7)
- # off-topic (101)
- # om (6)
- # onyx (6)
- # parinfer (38)
- # pedestal (5)
- # perun (1)
- # planck (4)
- # protorepl (4)
- # re-frame (62)
- # reagent (20)
- # remote-jobs (1)
- # ring-swagger (1)
- # spacemacs (16)
- # unrepl (43)
- # vim (13)
buon lunedì 🙂
oss del weekend, ho implementato un aggregatore di blob per unrepl
che prende i file sorgente, li ordina in dependency order and li concatena cosi' che unrepl possa eval
-uarli. In piu' finalmente ho risolto un bacozzo storico in boot-figreload
Ho avuto il piacere di seguire la cosa in diretta, joinate #unrepl se curiosi 😄
@bronsa e' un'alternativa a nRepl, che viaggia su socket-repl
, dove praticamente le varie "feature" sono mandate tramite blob (form edn) client side
i vari blob si auto-`eval`-uano
cosi' che le connessioni al REPL sono "indipendenti"
(stiamo ancora decidendo cosa fare se due client mandano lo stesso namespace in realta')
la stessa implementazione del protocollo unrepl
e' mandata client-side
il minimo che serve e' qui: https://github.com/Unrepl/unrepl/blob/master/tasks/leiningen/unrepl_make_blob.clj
o meglio questo: (slurp "src/unrepl/print.clj") (slurp "src/unrepl/repl.clj") "\n(unrepl.repl/start)")
si, e' ancora agli albori mandare cose client-side e' una bella idea ma per esempio il primo eval
e' (deve essere) blocking
praticamente l'extension model non e' ancora stato definito, ma si vorrebbe evitare il middleware
di nRepl
il client attuale e' https://github.com/pesterhazy/unravel scritto con lumo
c'e' stato un talk a EuroClojure ma i video non sono ancora usciti
Namaste
(def x (/ 1. 0))
(def v [(/ 0. 0) (/ x x) (* 0 x) (- x x) (Math/pow 1 x) (Math/sqrt -1)])
(frequencies v)
{NaN 1, NaN 1, NaN 1, NaN 1, NaN 1, NaN 1}
... clj-batman!Ma transient permette questo:
user=> (def m (transient {}))
#'user/m
user=> (assoc! m Double/NaN 1)
user=> (assoc! m Double/NaN 1)
user=> (persistent! m)
{NaN 1, NaN 1}
se vuoi vederne una divertente,
user=> (let [a (array-map Double/NaN 1)] (assoc a (key (first a)) "foo"))
{NaN 1, NaN "foo"}
user=> (let [a (hash-map Double/NaN 1)] (assoc a (key (first a)) "foo"))
{NaN "foo"}
ho guardato un po' l'impl dei due assoc. Non ho trovato la risposta in tempi brevi, mi arrendo!