Tag: Clojure

What Is a Program?

What is a program? Is it the source code that a programmer typed? The physical state of the machine on which it is run? Or something more abstract, like the data structures it creates? This is not a purely philosophical question: it has consequences for how programming languages are designed, how development tools work, and…

Read the full article

The Naming of Namespaces

From time to time I’m asked, “How do you organize namespaces in Clojure projects?” The question surprised me at first, because I hadn’t thought about it much. But then I was using Clojure back when the only way to load code was “load-file.” Most programming languages, especially object-oriented languages, provide strong hints on how to…

Read the full article

ClojureScript Launch, New York

As you may have heard, last night we (Clojure/core) announced ClojureScript at the Clojure NYC Meetup. Rich Hickey gave a talk, which was streamed live over the web, while we monitored Twitter and IRC for feedback. The event was a great success, with loads of excitement expressed by both the local New York crowd and…

Read the full article

Dependency Management First-Aid Kit

This article attempts to unravel some of the mysteries of dependency management with Maven and Maven-based tools. Help, something’s missing! Say you have a project named “my-new-project” which declares a dependency on version 3 of the “awesome-sauce” library by the Example.com corporation. You add the dependency to your pom.xml, project.clj, or whatever configuration file your…

Read the full article

Clojure in Philadelphia, April 27-28

I’ll be talking about Clojure at Emerging Technologies for the Enterprise in Phidelphia, April 27-28, 2011. My talk is tentatively titled Clojure: Lisp for the Real World, and it will be a high-level overview of how Clojure’s unique features can solve real, pervasive problems in large software systems.

Single Abstract Method Macro

John Rose’s article, Scheme in One Class, introduced me to the notion of Single Abstract Method, or SAM, classes. One of the proposed APIs for JSR-292 allows a MethodHandle (the Java version of a closure) to be cast to any SAM class. In Java, a SAM can be either an interface or a class, but…

Read the full article