Clojurians
#clojure-italy
<
2019-01-14
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

reborg06:01:12

Buongiorno. E’ con sommo rancore che annuncio l’improvviso spegnimento del MacBook con un “freeze” a schermo nero dopo 123 giorni di onorato uptime. Ne fanno le spese alcuni buffers vim ed alcune sessioni tmux. Spero mi siate vicini nel dolore di questo giorno. :coffin:

skuro16:01:17

mi torturo da mesi con la domanda: quale sara' il mio prossimo laptop? tu per caso pensi di rifarti un mac?

reborg16:01:36

Mi sarebbe piaciuto ricominciare da Linux con questo giro, ma avevano gia’ preso il laptop. Non va male, ma forse e’ ora di uscire dal vizio Apple.

reborg16:01:42

Prima che se ne escano con qualche altra puttanata, tipo via la tastiera meccanica e vai di touch bar :face_vomiting:

skuro22:01:03

ecco, a me la nuova tastiera e la touch bar fanno ribrezzo

skuro22:01:30

ESC sulla touch bar... no dico, siamo pazzi?

manuel06:01:03

vicinissimi :disappointed:

helios08:01:52

minuto di silenzio per l'uptime

helios08:01:18

io mi sono fermato a 70 giorni un paio di giorni fa, quando ho "dovuto" aggiornare a Mojave. El capitan ormai e' non supportato piu'... :stuck_out_tongue:

gon09:01:19

brutto momento! :expressionless:

andrea.crotti16:01:39

domanda per voi esperti di macros

andrea.crotti16:01:48

Come mai questo scoppia?

(let [l 42
      v (keyword (symbol #'l))]
  v)

andrea.crotti16:01:02

mentre questo funziona?

(def x 42)

(keyword (symbol #'x))

bronsa16:01:31

niente a che vedere con macro

andrea.crotti16:01:32

l non e' un var immagino forse nel primo caso

bronsa16:01:35

l non e` una var

andrea.crotti16:01:48

eh ok c'e' un altro modo magari?

bronsa16:01:05

cioe`, dipende da cosa vuoi fare veramente

bronsa16:01:18

quello e` tutto a runtime

bronsa16:01:26

e a runtime un local binding non esiste semplicemente

andrea.crotti16:01:38

beh ho una funziona tipo

(defn register-new [endpoint]
  ...
che prende un map da un altro namespace come input

andrea.crotti16:01:50

e voglio semplicemente farlo diventare una namespaced keyword

andrea.crotti16:01:17

per poi definire un defmethod al volo all'interno

andrea.crotti16:01:38

endpoint in teoria e' un var quando arriva

bronsa16:01:02

e` una var o una mappa? :)

bronsa16:01:13

e quale parte della mappa e` una keyword da namespaciare?

andrea.crotti16:01:36

tipo (ns pippo) (def m {:x 1 :b 2})

andrea.crotti16:01:44

e voglio semplicemente :pippo/m

bronsa16:01:10

vuoi (f m) -> :pippo/m?

andrea.crotti16:01:43

(e poi mi serve anche (f :pippo/m) => m forse)

bronsa16:01:39

e cosa ti ritornerebbe se m non fosse una var?

bronsa16:01:24

vuoi creare un registry interno?

andrea.crotti16:01:55

no m sarebbe sempre una var, ammesso che facendo (def m {:x 1}) si crei una var :smile:

bronsa16:01:15

creare una var e` il punto di def

andrea.crotti16:01:39

eh ok si allora sarebbe sempre una var

andrea.crotti16:01:52

e vabbeh se e' troppo complicato trovo un altro modo

bronsa16:01:45

non e` complicato, non capisco perche` non puoi semplicemente usare (keyword (symbol x)) allora?

bronsa16:01:03

passando la var a register-new invece di passargli il valore dereferenziato

bronsa16:01:13

e.g. (register-new #'x) invece di (register-new x)

andrea.crotti16:01:04

ho un endpoint che arriva come argomento della funzione

bronsa16:01:19

da un valore non hai alcun modo per risalire al container (var) originale

andrea.crotti16:01:31

ah ok allora mi attacco :smile:

andrea.crotti16:01:45

cambio approccio allora

andrea.crotti16:01:37

ha senso in effetti che una map non sappia da dove arriva