This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-11
Channels
- # aws (15)
- # beginners (55)
- # boot (116)
- # bristol-clojurians (2)
- # cider (4)
- # cljs-dev (439)
- # cljsrn (14)
- # clojure (135)
- # clojure-argentina (3)
- # clojure-czech (4)
- # clojure-italy (60)
- # clojure-russia (1)
- # clojure-spec (48)
- # clojure-uk (42)
- # clojurescript (170)
- # cloverage (11)
- # core-async (19)
- # cursive (13)
- # datomic (48)
- # emacs (2)
- # graphql (3)
- # hoplon (8)
- # jobs (1)
- # jobs-discuss (5)
- # klipse (11)
- # luminus (5)
- # lumo (5)
- # mount (48)
- # off-topic (96)
- # om (17)
- # onyx (14)
- # parinfer (30)
- # protorepl (1)
- # re-frame (90)
- # reagent (2)
- # remote-jobs (1)
- # spacemacs (12)
- # specter (20)
- # uncomplicate (1)
- # untangled (65)
- # vim (2)
- # yada (8)
Godmorgon godmorgon
Qui a Helsinki è un’ottima giornata estiva
15 gradi e piove
e io chiaramente in maniche corte e pantaloni corti visto che sono uscito aspettandomi una giornata come ieri
non so a Londra, ma ad Amsterdam il look e' spesso dettato piu' dal calendario che dal clima
mah, magari e' una cosa solo sarda, ma io ricordo che e.g. le mamme appena vedono 2 gocce subito imbacuccano i poveri bambini che sembrano tipo Maggie Simpson nel giaccone a stella di natale
mentre qua le vedo accompagnare i bimbi a scuola in bicicletta, sul seggiolone di fronte, mentre nevica, creando simpatici pupazzi di neve semoventi
comunque in Italia la tupla [:calendario :stagione]
e' sufficientemente stabile da rendere la tua abitudine piu' applicabile 🙂
Domanda: ho una macro che mi genera una funzione
(defmacro defcommand
[command-name args request-handler response-handler]
`(defn ~command-name
[~@args]
(with-open [s# (net/create-socket)]
(-> s#
(net/write-request ~request-handler ~@args)
(net/read-response ~response-handler)))))
ora, request-handler e response-handler sono due funzioni
request-handler può prendere n argomenti
nei casi semplici, tutto bene
(defcommand my-command
[a b]
my-command-request
my-command-response)
questo fila via liscio
ma se provo a definire una variadic
(defcommand my-second-command
[a b & options]
my-second-command-request
my-second-command-response)
Si rompe (giustamente) dicendo "Unable to resolve symbol: & in this context"
Qualcuno ha qualche idea
@bronsa: I'll give it a try, thanks
@mdallastella qual e' la signature di net/write-request
?
@reborg eh, è questo il problema,
(write-request [command & args] ... )
allora dovrebbe essere (apply net/write-request ~request-handler ~@(remove '#{&} args)
se fai (apply foo bar ~@baz)
, baz deve essere una collezione con una collezione come ultimo argomento
non capisco.... "(defmacro defcommand [cmd args f] (defn ~cmd [~@args] (~f ~@(remove '#{&} args))))" se non metto apply prima di
~f` questo non va. Ad es: (defcommand ++ [a b & opts] +)
e (++ 1 2 3)
quest'equivalenza comunque mi soprende: (remove #{'&} '[a b & c]) <=> (remove '#{&} '[a b & c])
as in, ti sorprende perche` ti aspetteresti qualcosa di diverso o non c'avevi mai fatto caso?
no mi spiazza quando vedo una fn come un set che con il quote davanti mi verrebbe da pensare che non puo' andare... poi se ci penso mi passa 🙂
ah certo, un'altra form che spesso non ci si fa caso sia valida e` per esempio '^{:foo bar} baz
Grazie a tutti e due, stasera ci ragiono con calma
@nilrecurring @reborg google e youtube non aiutano, cosa sarebbe questo mmight?
una persona immagino 😄
ah gotcha, eccolo https://www.youtube.com/watch?v=MdmQUlD7P40
ok grazie!
ho scoperto adesso questa conferenza a Cadiz
sembra carina