background preloader

Clojure programming

Facebook Twitter

Resources. Cs/papers/tarpit.pdf. Halgari/clojure-py.

Clojure Applications

Aaron-santos/mini-beast. Bodil/catnip. Clojure Libraries. Development Environment. For a spartan set-up, for now, to rapidly get you going, I suggest just using a text editor and a terminal window or two.

Development Environment

Details below. Note: Later, you will likely want to use a more productive setup, where you’ll have access to the repl from within your editor. But for now, let’s walk before running. Server-socket/src/server/socket.clj at master · technomancy/server-socket. Franks42/clj-ns-browser. Good examples of Clojure macros usage which demonstrate advantages of the language over the mainstream. Programming Languages Weblog. Sam Aaron - A Communicative Programmer. Trptcolin/reply. Quoting Without Confusion. Many Lisp beginners find quoting to be a foreign concept.

Quoting Without Confusion

My own confusions around quote and friends began with my first ventures into Scheme, and continue today with the occasional crazy Clojure macro. So I'd like to take some time to look deeper into quoting, one of the most Lispy of the Lisp features. It's a crucial area for budding macro writers to master, and a bit of investment here can really pay off. The examples are all in Clojure, and many aspects will apply to other Lisps, with minor syntax tweaks. quote First and most importantly, the quote special form is one of the most basic in Lisp. [1] Let's start with an example: user=> (quote (+ 1 2 3))(+ 1 2 3) So wrapping quote around a form will return that form, without evaluating it. Clojure/data.csv. Samaaron/serial-port. ClojureSphere. Clojurewerkz.org. Clojure Libraries. The Clojure Toolbox. Datomic. Clojure/core.logic. Technomancy/swank-clojure. Strangeloop/clojurewest2012-slides.

Clojure videos

Creating a simple game in clojure - ideolalia. There's a certain type of person who, upon seeing a new language, feels compelled to write a game with it.

creating a simple game in clojure - ideolalia

Functional languages represent a unique challenge in this respect, as has been written about at some length elsewhere. Clojure adds an interesting wrinkle to this problem, in the form of its Java interop. If a game consists of a thin layer of Clojure wrapped around a full-featured Java game engine, is it actually "written in Clojure"? Without getting bogged down in semantics, I suggest that a Clojure application (such as the game discussed in this post) is something that can be easily extended using Clojure's data structures and concurrency primitives. This may or may not be true of the hypothetical Clojure-wrapped game engine; it depends on the design and implementation details.

To explore what goes into making a game in Clojure, we'll look at an implementation of Asteroids that uses Penumbra, an idiomatic wrapper for OpenGL. A description of the game collision generating asteroids. Connecting to your creation. 26 Feb 2012 edit: there is now a downloadable jar: After seeing Bret Victor's talk, Inventing on Principle, the other night, I was curious how hard it would be to build some of things he demoed - so I put together a live ClojureScript game editor today.

Connecting to your creation

Here's a video of it in action: It basically replicates what was in his demo (minus the Braid graphics). The one thing I didn't implement was rolling forward and back with a slider, since I thought the projection was far more useful. Some things this demo does: All changes you make to the code are reflected immediately in the running gameOnce focused, clicking the canvas adds a block. Aredington/kibit-mode. Jonase/kibit. Structure and Interpretation of Computer Programs.

Documentation

ClojureScript One Guide. Home · daveray/seesaw Wiki. Daveray/seesaw. Quil/examples/gen_art/README.md at master · quil/quil. Sqlkorma. A Lazy Sequence: A Brief Overview of the Clojure Web Stack. This article introduces Clojure's web application stack.

A Lazy Sequence: A Brief Overview of the Clojure Web Stack

The heart of this stack is Ring: an interface for conforming libraries, a set of adapters for various HTTP servers, and middleware and utilities. This article aims to help you navigate the increasingly broad range of libraries and choose some solid libraries and get an app moving with Ring. You will need have at least a basic understand of Clojure (1.2.0), Leiningen and HTTP/Web development to get the most out of this article. Dancing monkey gibbers on about macros and such… Monome. Rickhall2000/OnLisp. Live ClojureScript Game Editor. 4clojure – Welcome! (1000+) Clojure. Light Table by Chris Granger » Updates.

Home. Overview - Clojure v1.3 API documentation. Clojure.edn by Rich HickeyDetailed API documentation edn reading.

Overview - Clojure v1.3 API documentation

Object Computing, Inc. - Java News Brief - March 2009. By R.

Object Computing, Inc. - Java News Brief - March 2009

Mark Volkmann, Partner Object Computing, Inc. (OCI) last updated on 6/2/13 Contents Introduction. Technomancy/leiningen. Mmcgrana/ring. Weavejester/compojure. Ring 1.1.0-RC1 API documentation. Jetty - Jetty WebServer. Jetty provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.

jetty - Jetty WebServer

These components are open source and available for commercial use and distribution. Jetty is used in a wide variety of projects and products, both in development and production. Jetty can be easily embedded in devices, tools, frameworks, application servers, and clusters. See the Jetty Powered page for more uses of Jetty. The current recommended version for use is Jetty 9 which can be obtained here: Jetty Downloads.

The Jetty project has been hosted at the Eclipse Foundation since 2009. You can benefit from committer knowledge and get training, consulting services, professional support and even production SLAs, just ask us about it! ClojureDocs - Community-Powered Clojure Documentation and Examples. Clojure Libs and Namespaces: require, use, import, and ns. Now, I won’t spend time moaning about the current state of namespaces (see this Clojure mailing list discussion and the design discussion around namespaces in the Clojure Confluence ), but I thought it might be helpful to give an overview of the various calls you can make to require a Clojure lib.

Clojure Libs and Namespaces: require, use, import, and ns

Let’s start a Clojure repl, where we’ll outline the baseline commands to pull in libs. Compojure.core documentation. A concise syntax for generating Ring handlers. macro (ANY path args & body) Generate a route that matches any method.

compojure.core documentation

(DELETE path args & body)