Clojure Programming

Clojure / FP Advocacy

Functional Thinking (video)

http://www.braveclojure.com/

Rich Hickey: Simple Made Easy

Why I'm Productive in Clojure

YOU USE PHP BECAUSE YOU DON'T KNOW BETTER

Clojure data uniformity -- an explanation of benefits of direct data access compared to object-oriented approach. This is also mentioned in Functional Thinking (video)

Functional Programming

Functional Thinking (video)

John Pither: Functional Programming for the Enterprise

Why to edit programs while they are running

Main FP Principles

http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey

Resources

Books

, ,

Lisp Books made into Clojure

Quick Guides

Tutorial for “children”: Comics Casting spells with Lisp

Clojure Style Guide

A side-by-side reference sheet (Lisp: Common Lisp, Scheme, Clojure, Emacs Lisp)

Flowchart for choosing the right Clojure type definition form

Clojure macros for beginners

Domain-Driven Design with Clojure -- video about Clojure programmes design

Learning

Brief Beginner's Guide to Clojure

Getting Started with Clojure - Part 1

http://www.4clojure.com

Beautiful Clojure concepts visualisation

Clojure Cookbook

Specific / Advanced Topics

On sequences and immutability

Libs and namespaces

Destructuring

IO as Data

Growing a DSL

Data, Visibility, Abstraction

Concurrency is not parallelism (Go); Clojure's take: core.async

Clojure concurrency tutorial

Dire: decomplecting error behaviour

Clojure concurency tutorial

desktop GUI

Seesaw

Web Development

Ultimate overview

Pedestal Framework, Pedestal Beginner's Guide, Small example

Hoplon: A Simpler way to program the web

Online HTML->Hiccup converter

Conjure: web framework a-la Django or Rails

Luminus - a curated set of libraries

Noir Framework - deprecated, see Moving away from Noir

todo webapp with core.async

Ganelon -- microframework for instant Ajax development

DSL for Web applications -- a very promising idea!!! --- Robert Pergl 2013/09/10 21:43

ClojureScript

Book ClojureScript Up and Running

ClojureScript tutorials

ClojureScript compiler as a web service

The ClojureScript browser-REPL

A sampler of ClojureScript application designs

ClojureScript wrapper for Node Webkit

Web with Om (Facebook's React)

Mixed resources

Various videos

Tools and IDEs

You definitely need Leiningen for easy project management. There is a multitude of IDE's available, however none is absolutely perfect, yet...

Counterclockwise plugin for Eclipse

IntelliJ Idea has a plugin La Clojure directly in its repository.

Clooj is elegant and very lightweight with limited capabilities

LightTable's Instarepl is just awesome for playing around! See here for an inspiration

vim-fireplace here and here recommended together with Redl plugin and vim-sexp

Other tools at http://dev.clojure.org/display/doc/Clojure+Tools.

Leiningen plugins

lein-ancient -- to check availability of newer versions of used libraries

lein-kibit -- Clojure style checker

http://hugoduncan.org/post/alembic_reloads_your_project_clj_dependencies

Tips and Tricks

Clojure workflow

For Clojure DEBUGGING use Timbre for logging and Spyscope for forms spying. An alternative is also clojure.trace

Survey of Clojure testing

Useful Libraries

spreadmap: Library for reading Excel files

Timbre: logging and profiling library

Midje: gracious testing library

Instaparse: library for parsing

A categorised directory of libraries and tools for Clojure

Clara Rules: forward chaining rules in clojure

Interesting Solutions

Forum

Dots game

Autocompleter in ClojureScript

Screen scraping

C2: Clojure(Script) data visualization

Technical Topics

Performance analysis of JVM-Hosted Languages