I learned about Clojure sometime in early 2017 from one particularly kind soul who ran a few programming meetups in Toronto. I tossed myself into the deepend, joining a startup in the fall of 2017, where everything was built with Clojure. This page holds some of the random things I've learned about Clojure / often need to re-search when I'm building something.
GraalVM can be used to compile native-images with Clojure code (among other things). I use it to compile the Firnº project into a single binary. Getting Clojure (specifically, handling typing and reflection) to work with Graal can be tricky. These are some resources that have helped along the way.
I often forget how to type-hint different forms in Clojure. I usually only end up doing this when using GraalVM.
;; Type hinting the let binding (let [^String s (something-returning-a-string)] (.isEmpty s)) ;; Type hinting a function parameter (defn empty? [^String s] (.isEmpty s)) ;; Type hinting a Java Interop method call. (.isEmpty ^String (something-returning-a-string)) ;; Type hinting a return value on a function (defn ^String myfn  "I'm a string") ;; A multi arity type function return (defn myfn2 (^String  "I'm a string") (^String [a b] "I'm a string too"))
The Question Stack
A list of clojure-specific questions & answers I've found while coding.