Fork me on GitHub
#clojure-italy
<
2018-06-18
>
mdallastella10:06:56

Posso chiedervi un parere su un tocco di codice?

mdallastella10:06:50

mi servirebbe un coso per registrare delle funzioni e poterle invocare un po' ovunque (mount è tipo components)

mdallastella10:06:43

perché mi trovo nella situazione in cui non è sempre detto che io abbia quella determinata funzione disponibile in un namespace

mdallastella10:06:08

ha un senso o sto architetturando a cazzo?

mdallastella10:06:47

vediamo se riesco a fare un esempio un po' più completo

mdallastella10:06:48

Potrebbe arrivarmi un "messaggio" così:

{:extract [:db/accounts {:limit 10}]
                :transform [:util/convert-names]
                :load [:csv/dump]}

mdallastella10:06:58

dove :db/accounts, :util/convert-names e :csv/dump sono registrati nel servizio cui sopra

reborg10:06:24

Non potresti anche usare (when-let [f (find-var (symbol (str "clojure.core" "/" "+")))] (@f 1 1)) per fare il lookup senza registro?

mdallastella10:06:07

faccio register/invoke della funzione di :extract, colleziono il risultato e lo passo all'`invoke` di :transform, colleziono e infine passo tutto all'`invoke` di :load

mdallastella10:06:58

@reborg devo sapere il namespace, giusto?

mdallastella10:06:29

m'ero scordato di find-var

reborg20:06:35

[OT] che tristezza pero' il mondiale senza l'italia

richiardiandrea21:06:38

non e' lo stesso ma ce lo siamo meritati

reborg21:06:41

Completamente dimenticato dei pods https://www.youtube.com/watch?v=I5iNUtrYQSM#t=38m11s chissa' perche' non se n'e' fatto nulla.

bronsa22:06:57

esistevano in un branch

bronsa22:06:42

IIRC a Rich non piaceva abbastanza il design e quindi non son mai stati mergiati

bronsa22:06:14

rimasugli del design si possono intravedere tra core.async e transducer

reborg22:06:08

ha proprio cancellato la branch a quanto pare

reborg22:06:08

mmh, ho visto la tathata ma mi ero perso il gist, tanks!

bronsa22:06:45

nelle prime iterazioni li aveva chiamati cells :)

bronsa22:06:01

ma non ci perderei troppo tempo

bronsa22:06:44

i transducer coprono (la gran parte di) quello spazio

bronsa22:06:07

dove ogni transducer context approssima un pod

bronsa22:06:18

e ogni transducer approssima una proc

reborg22:06:55

a me piaceva il controllo sui transient, ed anche la possibilita' di multithreading. Ne faccio a meno di entrambi, ma nel secondo caso vado di Java