background preloader

Clojure | Lisp - JVM

Facebook Twitter

First hundred days of Clojure. In politics you have a one hundred days period of grace.

First hundred days of Clojure

In December I started to work with Clojure, so I guess it’s time to have a clojure look. In the last couple of years I encountered a couple of different languages. At scoyo it was ActionScript and Flex from Adobe. I had the honor to lead a team of great engineers, but with good people you don’t get close enough to the real stuff. At gamigo the new technology was PHP. When we started to work on our new product I said to my boss and my colleagues: In Java I know how a state of the art application has to look like, but I have no clue how to build a Clojure application. Leiningen (aka lein) – The build and dependency managmement tool for Clojure.Noir – A nice library to build websites/-services in Clojure.CongoMongo and mongoDB – The database driver and the database we use. Lots of ceremony – When you work in Java you create a huge amount of classes. The first hurdle I had to climb where collections. (for [i (range 1 100)] (println i))

The Clojure Toolbox. Clojure. Clojure. Clojure. History[edit] Rich Hickey is the creator of the Clojure programming language, with work experience on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening.[4] Before Clojure, he developed dotLisp, a similar project based on the .NET platform.

Clojure

Hickey spent about 2½ years working on Clojure before publicly releasing it, much of that time working exclusively on Clojure without external funding. At the end of this period Hickey sent an email announcing the language to some friends in the Common Lisp community. Philosophy[edit] Clojure's approach to concurrency is characterized by the concept of identities,[7] which represent a series of immutable states over time. Syntax[edit] Like most other Lisps, Clojure's syntax is built on S-expressions that are first parsed into data structures by a reader before being compiled.

Macros[edit] Language features[edit] Variants[edit] Examples[edit] Hello world: Clojure Programming. Clojure is a dynamic programming language for the JVM.

Clojure Programming

Introduction[edit] People come to Clojure from a variety of backgrounds. The purpose of this book is to help everyone get the most out of the Clojure language. It is not meant as a replacement for the documentation, found at the Clojure site. Please do not copy material from there to here! Feel free to post your own code, written in the Clojure language, here.

Implementations[edit] There are a number of different implementations of the Clojure language: Clojure (the original Java-based implementation)ClojureScript (compiles to JavaScript)ClojureCLR (for Microsoft's .NET framework)clojure-py (Python-based)clojure-scheme (compiles to Scheme)ClojureC (compiles to C) See also Clojure-metal (thoughts/plans for Clojure on LLVM). FAQ[edit] Some answers to Frequently Asked Questions. Getting started[edit] The Getting started section covers obtaining and installing Clojure as well as basic setup of editors such as Emacs or Vim.