Skip to content

Latest commit

 

History

History
95 lines (51 loc) · 6.59 KB

README.md

File metadata and controls

95 lines (51 loc) · 6.59 KB


Clojure Guide

A guide covering the Clojure programming language including the applications and tools that will make you a better and more efficient Clojure developer.

Note: You can easily convert this markdown file to a PDF in VSCode using this handy extension Markdown PDF.


Clojure Learning Resources

Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.

ClojureScript is a compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler.

Clojure Community Resources

Clojure Training

Learning Clojure on Udemy

Clojure Fundamentals on Pluralsight

Web Development in Clojure

Clojure Online Courses on LinkedIn Learning

Clojure Workshop on Packt

Clojure Style Guide

Clojure Tools, Libraries, and Frameworks

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.

Code Server is a tool that allows you to run VS Code on any machine anywhere and access it in the browser.

clojureVSCode is an extension that provides Clojure and ClojureScript support for Visual Studio Code.

Reagent is a minimalistic ClojureScript interface to React.

Calva is an integrated REPL powered environment for enjoyable and productive Clojure and ClojureScript in Visual Studio Code. It includes inline code evaluation, Paredit, a Clojure formatter, a test runner, Clojure syntax highlighting, and more. Most of the REPL power is harvested from the produce of The Orchard.

Cursive is a Clojure(Script) IDE with advanced structural editing, refactorings, VCS integration and much more, all out of the box.

Clj and deps.edn is a tool for managing dependencies, running a REPL, and executing Clojure programs, built by the Clojure core team.

Leiningen is an extensible build tool that provides dependency management, REPL support, testing, packaging, deployment, and many other capabilities.

Boot is a Clojure build framework and ad-hoc Clojure script evaluator. Boot provides a runtime environment that includes all of the tools needed to build Clojure projects from scripts written in Clojure.

Clojars is a Clojure-focused Maven repository.

Clojure Toolbox is a categorized index of Clojure libraries.

Vim Firepalce is a plugin in Vim that adds support for Clojure and ClojureScript.

CIDER is a plugin extends Emacs with support for interactive programming in Clojure. The features are centered around cider-mode, an Emacs minor-mode that complements clojure-mode project.

Clojure-mode is a Emacs major mode that provides font-lock (syntax highlighting), indentation, navigation and refactoring support for the Clojure(Script).

Inf-clojure is a package that provides basic interaction with a Clojure subprocess (REPL), based on ideas from the popular inferior-lisp package.

Riemann is a network event stream processing system for monitoring distributed systems, in Clojure.

Datascript is an immutable in-memory database and Datalog query engine in Clojure, ClojureScript, and JavaScript.

Compojure is a small routing library for Ring that allows web applications to be composed of small, independent parts.

Ring is a Clojure web applications library inspired by Python's WSGI and Ruby's Rack. By abstracting the details of HTTP into a simple, unified API, Ring allows web applications to be constructed of modular components that can be shared among a variety of applications, web servers, and web frameworks.

Hiccup is a library for representing HTML in Clojure. It uses vectors to represent elements, and maps to represent an element's attributes.

Onyx is a distributed, masterless, high performance, fault tolerant data processing system.

Lumo is a standalone ClojureScript environment that runs on Node.js and the V8 JavaScript engine. It provides out-of-the-box access to the entire Node.js ecosystem, including a ClojureScript REPL.

Arcadia is an integration of the Clojure Programming Language with the Unity 3D game engine.

Lacinia is a full GraphQL implementation in pure Clojure.

Contribute

  • If would you like to contribute to this guide simply make a Pull Request.

License

Distributed under the Creative Commons Attribution 4.0 International (CC BY 4.0) Public License.