Jeg har forresten skrevet to små bloggposter om små, trivelige triks med Clojure på norsk. 🙂 https://www.kodemaker.no/blogg/2019-07-gammelt-triks-ny-kontekst/ og https://www.kodemaker.no/blogg/2019-10-clojure-update/
Akkurat sånne småting som gjør at gleden av å bruke Clojure blir så stor.
Fikk sneket inn tree-seq i prod-koden herom dagen. Jeg kunne bry meg om å skrive de enkle tingene, Clojure tok hånd om de vanskelige tingene
fnil er også en kul funksjon skiller guard-funksjonalitet fra det su egentlig vil gjøre.
(def nil-safe-div (fnil / nil nil))
ja, tree-seq
er veldig hendig når man trenger den 🙂 fikk også brukt transducers litt nylig. Har begynt å bruke (into [] cat coll)
som et alternativ til (apply concat coll)
som jeg ikke syns tar seg spesielt godt ut.
@magnars har du sett http://chouser.n01se.net/apply-concat/ ? Mine highlights:
>>> apply concat
is perhaps most clear (and also underlies mapcat
). But sequence/eduction cat
is also interesting (returns a lazy result but eager when the result is used, e.g. via first
). Or reduce into
if you want eager and don’t care about order (list #2 would be reversed and in front of list #1 due to conj
).
Very interesting analysis of the laziness of the alternatives - and tools for doing such an analysis yourself.