The JSON data is in the following format
{
"Genesis": {
"1": {
"1": "In the beginning..." ,
"2": "..."
Vim is a powerful text editor. Clojure is a powerful programming language. While its been possible to edit Clojure code in vim for years, the toolchain has improved greatly over the past year. Today we're going to see how we can integrate vim with our Clojure REPL environment.
In a shell session, let's fire up a Clojure REPL. I'm going to use lein repl to do this. In another shell session, let's start vim and edit a
clojure file.
This is all personal opinion and a matter of taste. I'm putting it here because people have asked - I'm glad Cider exists and that a lot of people are obviously using it to great effect. This is not an attack on Cider or a an attempt to negate the experience of those who like it, just my own experience.
Also some of the critiques are more properly aimed at nRepl than Cider - I don't use nRepl either, in Emacs. For some reason I have fewer issues with it in Cursive (though I still do have some).
lein trampoline -m clojure.main - if something goes wrong, it's either in Emacs (which is usually obvious) or my program. MiRich Hickey • 3 years ago
Sorry, I have to disagree with the entire premise here.
A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero.
Mastery comes from a combination of at least several of the following:
| (ns http-server | |
| (:require [ring.adapter.jetty :as jetty]) | |
| (:import [org.eclipse.jetty.server.handler.gzip GzipHandler])) | |
| (defn- add-gzip-handler [server] | |
| (.setHandler server | |
| (doto (GzipHandler.) | |
| (.setIncludedMimeTypes (into-array ["text/css" | |
| "text/plain" | |
| "text/javascript" |
| (ns utils.cond | |
| "A collection of variations on Clojure's core macros. Let's see which features | |
| end up being useful." | |
| {:author "Christophe Grand"} | |
| (:refer-clojure :exclude [cond when-let if-let])) | |
| (defmacro if-let | |
| "A variation on if-let where all the exprs in the bindings vector must be true. | |
| Also supports :let." | |
| ([bindings then] |
FWIW: I (@rondy) am not the creator of the content shared here, which is an excerpt from Edmond Lau's book. I simply copied and pasted it from another location and saved it as a personal note, before it gained popularity on news.ycombinator.com. Unfortunately, I cannot recall the exact origin of the original source, nor was I able to find the author's name, so I am can't provide the appropriate credits.
| (ns util.natural-sorting | |
| (:refer-clojure :exclude [sort sort-by]) | |
| (:require [clojure.string])) | |
| (defn parse-int [s] | |
| #?(:clj (Long/parseLong s) | |
| :cljs (js/parseInt s))) | |
| (defn vector-compare [[value1 & rest1] [value2 & rest2]] | |
| (let [result (compare value1 value2)] |
A list of commonly asked questions, design decisions, reasons why Clojure is the way it is as they were answered directly by Rich (even when from many years ago, those answers are pretty much valid today!). Feel free to point friends and colleagues here next time they ask (again). Answers are pasted verbatim (I've made small adjustments for readibility, but never changed a sentence) from mailing lists, articles, chats.
How to use:
Rich Hickey Q&A by Michael Fogus
Best known as the inventor of Clojure, a Lisp that runs on the Java Virtual Machine and the first new member of the Lisp family to attract any widespread interest since Scheme and Common Lisp, Rich Hickey has been a software developer and consultant for two decades.
Prior to starting work on Clojure, he made four attempts to combine Lisp with either Java or Microsoft’s Common Language Runtime: jfli, Foil, Lisplets, and DotLisp but Clojure was the first to draw significant attention. To date there have been four books published on Clojure, including The Joy of Clojure by interviewer Michael Fogus. The first Clojure conference, ClojureConj held in 2010, drew over two hundred attendees. And the Clojure Google group has, as of this writing, 4,880 members who have posted over 46,000 mes