This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-06-22
Channels
- # beginners (124)
- # boot (7)
- # cider (73)
- # cljs-dev (37)
- # cljsrn (6)
- # clojure (85)
- # clojure-greece (4)
- # clojure-italy (67)
- # clojure-nl (6)
- # clojure-russia (4)
- # clojure-spec (6)
- # clojure-uk (48)
- # clojurescript (26)
- # cursive (5)
- # data-science (23)
- # datomic (63)
- # editors (5)
- # emacs (4)
- # graphql (13)
- # immutant (2)
- # lumo (4)
- # mount (3)
- # off-topic (1)
- # onyx (4)
- # pedestal (7)
- # portkey (10)
- # re-frame (14)
- # reagent (10)
- # ring-swagger (18)
- # shadow-cljs (97)
- # spacemacs (1)
- # tools-deps (9)
- # vim (1)
- # yada (13)
Ah ah buggy buggy, senza guardare il decompilato, direi che (f2 (T2. 1))
assegna (T2. 1)
ad un qualche field interno alla classe, chiama il body di f2
che lo legge, ed il body poi assegna nil
al field. Se c'e' exception, la versione precedente di T2 e' ancora nel field, che evidentemente non viene riassegnato.
Segnalo per gli amanti del mondo formal verification https://www.ou.edu/content/dam/CoE/CS/Thesis_Dissertations/2016/Summer%2016/2016_Ryan_Ralston_Dissertation.pdf
@reborg ottima teoria! c'è infatti una inline cache che si comporta come dici tu, ma in questo caso non è rilevante visto che ho intenzionalmente usato (f nil)
per evitare di avere una cache hit su T2
Io la trovo interessante. Scorre come un tutorial su come applicare APL2 per verifica in Clojure, che e' quello che vorrei provare per alcuni algos. Poi sono interessato ad un porting di defthm
& friends in un'altra vita...
Che altro mettereste in un clojure advanced workshop, possibilmente 1 solo giorno? https://github.com/uswitch/uswitch-academy/blob/master/clojure-advanced La definizione di "advanced" e' molto variabile.
non necessario, ma grazie. Cmq, viene prima in wikipedia https://en.wikipedia.org/wiki/ADT
Si ci avevo pensato. Ma non mi veniva un esempio veloce. Quand'e' che useresti una custom hierarchy?
Io l’ho usato per https://github.com/Bronsa/tools.decompiler/blob/master/src/clojure/tools/decompiler/bc.clj#L212-L371
ho usato questo pocco tempo fa per giocare con specs+metadata. Non sapevo anche che esiste make-hierarchy.
ti manca solo un spex/defmulti
che usa il tuo spex/isa?
per fare dispatch su specs invece che keywords
actually, c'e' gia' https://clojure.org/guides/spec#_multi_spec
@gabriele.carrettoni c’eri vicino! la JVM linka le classi a class load time, fino a clojure 1.8.0 clojure loadava le classi on import, da clojure 1.8.0 clojure non loada eagerly ma on first use, e quindi nel primo esempio f
linka al secondo T
, mentre nel secondo f2
linka al primo T2
perche` (f2 nil)
forza il class loading
@gabriele.carrettoni clojure ancora non fa lazy var initialisation
in che modo si collega a quello che ho detto, sembra una correzione alla mia affermazione sulla laziness
io ho avuto un bel po' di disagi al pronti via ma sistemati quelli sembra andare easy
qui niente ion tests, penso che passero' aspettando articoli e commenti nei prossimi mesi. ma se facessi un mituppe verrei a sentirti
non so neanche se ne valga la pena sinceramente, ai pochi meetup che sono andato la gente era più interessata al cibo e avevano sempre una conoscenza basilare dei linguaggi/argomenti trattati
per farti capire la chicca più bella di sempre è codemotion 2016 uno che parla degli indici di cassandra e a 3/4 del talk uno alza la mano e chiedi "cassandra is a?" ... "database" .. "ah ok thanks"
spex
e' interessante, sto ripensando a usare schema di nuovo per fare validation...e ritornare errori agli utenti, al momento use spec
+ expound