Re: Clojure as a first programming language?

2016-12-04 Thread 'Lee Spector' via Clojure
> On Dec 4, 2016, at 7:17 PM, Nathan Smutz wrote: > I've heard there have been some attempts at error-mesaage translators. Does > anyone have a recommendation? Colin Fleming has done some nice work on this in Cursive. He gave a talk on it at Clojure Conj 2015:

Re: Clojure as a first programming language?

2016-12-04 Thread Nathan Smutz
If you're new to tooling, and want to try Clojure right away, I strongly recomend Oakes' Nightcode. Install the JDK and Nightcode, and you'll have Clojure with its popular build tools (Leiningen and Boot) built in, beginner-friendly parenthesis management, LightTable-like instant evaluation in

Re: What does "Map literal must contain an even number of forms" mean?

2016-12-04 Thread Mark Nutter
​In other languages, curly braces are used to enclose executable statements, so something like { println("Hello world\n"); }​ makes sense. In Clojure, however, curly braces are used to enclose a list of key/value pairs, aka a map. So when you say {hash-map :c "Turd" :d "More Turd"} you are

Re: What does "Map literal must contain an even number of forms" mean?

2016-12-04 Thread lvh
> On Dec 4, 2016, at 2:18 PM, bill nom nom wrote: > > ;; This works, > (hash-map :a 1 :b 2 ) > > ;; Here's another way to create a hash map, this won't work because map > ;; literal must contain even number of forms > {hash-map :c "Turd" :d "More Turd"} > > What

What does "Map literal must contain an even number of forms" mean?

2016-12-04 Thread bill nom nom
;; This works, (hash-map :a 1 :b 2 ) ;; Here's another way to create a hash map, this won't work because map ;; literal must contain even number of forms {hash-map :c "Turd" :d "More Turd"} What does "Map literal must contain an even number of forms" mean? -- You received this message

Re: recursive bindings not available in let form?

2016-12-04 Thread Timothy Baldridge
Let bindings map pretty much directly to Java style local variables: (let [x 42] (let [x 3] (+ x 3)) Becomes something like this when compiled to byte code: x_1 = 42 x_2 = 3 return x_2 +3 So let bindings with the same names are kept separate via modifying the stored name in the byte

Re: Converting json to work with clojure.spec

2016-12-04 Thread Jonathon McKitrick
Ah, I see that now. That being said, I see the benefits in moving to namespace qualified keys. Currently, I'm returning structures directly in Compojure handlers, and the JSON conversion is implicitly handled. I checked Cheshire and didn't immediately see a way to generate namespaced keys.