Below you will find pages that utilize the taxonomy term “Clojure”
Archive
Parenthesical Culture and ParEdit
After a few years of doing zero Clojure hacking, recently I’ve picked up a side project in Clojure again. Rather than using my usual editors to edit Clojure code, I chose to go the all-in hardcore Lisp route: Emacs with Paredit (I followed these instructions to set it up). And during that time I developed a theory of why people feel like they drown in the parentheses in Lisps and why the Lisp community fails to be bothered by this issue.
Archive
Clojure Support on Heroku
Heroku is known for its Ruby hosting and later added node.js support as well. Now, Heroku also supports Clojure:
We’re very excited to announce official support for Clojure, going into public beta as of today. Clojure is the third official language supported by Heroku, and is available on the Cedar stack.
Clojure is a popular Lisp for the Java Virtual Machine. While Clojure applications could already be deployed on other Platform-as-as-Services (PaaS), such as Google AppEngine — Heroku is the first Platform-as-a-Service provider to offer official Clojure support.
Archive
The Point of WebDSL
Jay asks in the comments:
Good questions!
WebDSL was started about 3 years ago by Eelco Visser as an exercise the the design and implementation of domain-specific languages. His focus up to then had been on parsing and meta-programming, but it was time to focus on a new domain: the web. When he started Eelco had never built a web application. He investigated a number of Java frameworks as a basis and eventually decided to use JBoss Seam as a target.
Archive
On Language Design: Magic Variables in Compojure
The Perl language is riddled with special variables. Consider the following example:
open(FILE, “bla.txt”);
while() { print; }
In case you don’t speak Perl, this is equivalent to:
open(FILE, “bla.txt”);
while() { print $_; }
Still unclear? Alright, once more:
open(FILE, “bla.txt”);
while($line = ) { print $line; }
Perl is developed by linguist Larry Wall, who likes to put all kinds of natural language things into Perl. $_ refers to the subject of the sentence, it’s “it” as it were.
Archive
On Language Design: My Problem With ClojureQL
Update: Since this post, ClojureQL has been completely redesigned, my criticism in this post no longer applies. You can find more information about the new ClojureQL on its new website.
Every programming language comes with a certain syntax, a certain feel for what feels like native use of that syntax, and the semantics of the syntax. Escapes and mixing with a completely different feeling language are generally not a good idea.
Archive
Adia: A Week With Clojure And MongoDB
I spent last week with my wife and her family in Poland (my wife is Polish). Her parents do not speak English, or any other language than Polish so communication is problematic beyond the _thank you, you’re welcome, yes and no thank you_s. My wife also spends a lot of time meeting with her friends, so I typically spend quite some time staring at the wall among people who are speaking a language I do not know well enough yet.
Archive
Building Clojure Projects with Leiningen
Everybody who once used Java, struggled with Java’s classpath at some point during their career. You have to put all the right paths in there, the right .jar files and so on, both when compiling and running your Java project. To make this somewhat simpler you typically end up doing it either in an IDE, or using a tool like Ant or Maven. These are pretty heavy weight tools, and the latter too involve writing XML, which hardly anybody does for fun anymore.
Archive
Interesting Clojure Projects
Some pointers for new explorers of Clojure.
IDE-related:
VimClojure SLIME for Clojure on Emacs Enclojure, a NetBeans plugin DSLs/libraries built for Clojure:
ClojureQL (Clojure Query Language) Compojure, a Clojure web framework * CongoMongo, a MongoDB library * Cow-blog, simple blogging software written using Compojure
Other:
Clojure reddit
Archive
Brief Introduction to Clojure
Clojure (pronounced “Closure”) is a relatively new programming language which runs on the Java Virtual Machine. This is roughly what it looks like:
defn say-hello-to [name]
 println “Hello,” name
Neat, huh? Well, ok, I was lying a little bit in order not to scare you, because… pss, Clojure is a Lisp!
You’re still here? Alright. I suppose I can show you the real program, which is what I just showed with a few parenthesis added, in fact not that many: