awesome-clojure - list of useful links for clojurians

  •        17

Collection of useful links for Clojurians. Inspired by other awesome-* stuffs. Following is a list of amazing projects, worth to keep an eye on.

https://github.com/mbuczko/awesome-clojure

Tags
Implementation
License
Platform

   




Related Projects

garden - Generate CSS with Clojure

  •    Clojure

Garden is a library for rendering CSS in Clojure and ClojureScript. Conceptually similar to Hiccup, it uses vectors to represent rules and maps to represent declarations. It is designed for stylesheet authors who are interested in what's possible when you trade a preprocessor for a programming language. Garden 1.2.5 and below requires Clojure 1.6.0 and is known to work with ClojureScript 0.0-2342. However, starting with Garden 1.3.0 Garden requires Clojure 1.7 and ClojureScript 1.7.x to leverage a unified syntax with reader conditionals, and other major changes in the compiler and repl in Clojurescript.

luno-react-native - Cross-platform React Native application written in ClojureScript

  •    Clojure

Luno is a demo mobile application written in ClojureScript. It uses React Native, Reagent, Re-natal and a couple of React Native libraries, for example, awesome React Native Material Design. It is just proof of concept, and main purpose of Luno is to demonstrate how to create reusable components, use Navigation Drawer, Navigator and NavigatorIOS, how to work with native libraries (it uses Material Dialogs for Android) and how to create apps indistinguishable from native Android or iOS apps.

Clojurescript - Clojure to JS compiler

  •    Clojure

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. ClojureScript combines the reach of the JavaScript platform, the flexibility and interactive development of Clojure, and the whole-program optimization of Google Closure to provide the most powerful language for programming the web.

calva - Calva: Clojure & Clojurescript interactive programming made easy - Evaluate code, run tests, navigate to definitions, see docs, interactive REPLs, etcetera

  •    TypeScript

Welcome to Calva, an easy to use, integrated REPL powered environment for enjoyable and productive Clojure and ClojureScript coding. It includes inline code evaluation, Paredit (and some little Parinfer), a Clojure formatter, a test runner, Clojure syntax highlighting, and more. Much of the power is provided by The Orchard. Calva is short for Calvados, a liquid gifted to humanity from God. It is distilled from Cider.

datascript - Immutable database and Datalog query engine for Clojure, ClojureScript and JS

  •    Clojure

An immutable in-memory database and Datalog query engine in Clojure and ClojureScript. DataScript is meant to run inside the browser. It is cheap to create, quick to query and ephemeral. You create a database on page load, put some data in it, track changes, do queries and forget about it when the user closes the page.


cljs-ajax - simple Ajax client for ClojureScript and Clojure

  •    Clojure

cljs-ajax exposes the same interface (where useful) in both Clojure and ClojureScript. On ClojureScript it operates as a wrapper around goog.net.XhrIo or js/XmlHttpRequest, while on the JVM it's a wrapper around the Apache HttpAsyncClient library. In addition to this document, there's an FAQ, a change log and a contribution document. Furthermore, there is detailed documentation on specific features and design advice in the docs folder.

chestnut - Application template for Clojure + ClojureScript web apps

  •    Clojure

Getting value out of Chestnut? Consider making a small donation. Chestnut is a Clojure/ClojureScript application template. It takes the pain out of getting a working ClojureScript setup with live reloading plus a browser connected REPL.

core.logic - A logic programming library for Clojure & ClojureScript

  •    Clojure

A logic programming library for Clojure & ClojureScript. core.logic offers Prolog-like relational programming, constraint logic programming, and nominal logic programming for Clojure. At its heart is an original implementation of miniKanren as described in William Byrd's dissertation Relational Programming in miniKanren: Techniques, Applications, and Implementations as well as the extensions described in cKanren and αKanren. It is designed to be easily extended to forms of logic programming beyond the ones provided.

mount - managing Clojure and ClojureScript app state since (reset)

  •    Clojure

Depending on how application state is managed during development, the above three superpowers can either stay, go somewhat, or go completely. If Clojure REPL (i.e. lein repl, boot repl) fired up instantly, the need to reload application state inside the REPL would go away. But at the moment, and for some time in the future, managing state by making it reloadable within the same REPL session is important to retain all the Clojure superpowers.

markdown-clj - Markdown parser in Clojure

  •    Clojure

You can try out the parser here. A markdown parser that compiles to both Clojure and ClojureScript.

austin - The ClojureScript browser-REPL rebuilt stronger, faster, easier.

  •    Clojure

A significant refactoring of the ClojureScript-standard browser-repl environment that's as easy to "configure" and use as a Clojure REPL. Austin has one objective: to get you into a fast ClojureScript REPL suited for your project running in a browser environment as quickly and painlessly as possible, with full support for the nREPL toolchain.

piggieback - nREPL support for ClojureScript REPLs

  •    Clojure

nREPL middleware that enables the use of a ClojureScript REPL on top of an nREPL session. Piggieback provides an alternative ClojureScript REPL entry point (cemerick.piggieback/cljs-repl) that changes an nREPL session into a ClojureScript REPL for eval and load-file operations, while accepting all the same options as cljs.repl/repl. When the ClojureScript REPL is terminated (by sending :cljs/quit for evaluation), the nREPL session is restored to it original state.

lumo - Fast, cross-platform, standalone ClojureScript environment

  •    Clojure

Lumo is a standalone ClojureScript environment that runs on Node.js and the V8 JavaScript engine. It starts up instantaneously and has out-of-the-box access to the entire Node.js ecosystem. Lumo also provides a ClojureScript build API, making it possible to compile ClojureScript projects entirely without the JVM, thanks to the experimental JavaScript version of the Google Closure Compiler.

cats - Category Theory and Algebraic abstractions for Clojure and ClojureScript.

  •    Clojure

Category Theory and algebraic abstractions for Clojure and ClojureScript.

zelkova - Elm-style FRP for Clojure and ClojureScript

  •    Clojure

This project is unmaintained. Elm-style FRP for Clojure and ClojureScript.

leipzig - A composition library for Clojure and Clojurescript.

  •    Clojure

A composition library for Clojure and Clojurescript by @ctford. There is a Leiningen template that creates a simple Leipzig project, ready to run.

Clojure-Resources - Compilation of useful links and resources for learning Clojure and ClojureScript

  •    

This is a compilation of links and resources for learning about Clojure, ClojureScript, Om and more broadly, LISP. It is still in very early stages. Please feel free to add resources by issuing a pull request (preferred) or by getting in touch. Please also don't hesitate to suggest a better sort order.

reagent - A minimalistic ClojureScript interface to React.js

  •    Clojure

A simple ClojureScript interface to React. Reagent provides a way to write efficient React components using (almost) nothing but plain ClojureScript functions.

piggieback - nREPL support for ClojureScript REPLs

  •    Clojure

nREPL middleware that enables the use of a ClojureScript REPL on top of an nREPL session. The default ClojureScript REPL (as described in the "quick start" tutorial) assumes that it is running in a teletype environment. This works fine with nREPL tools in that environment (e.g. lein repl in Terminal.app or gnome-terminal, etc), but isn't suitable for development environments that have richer interaction models (including editors like vim (vim-fireplace) and Emacs (CIDER), and IDEs like Intellij (Cursive) and Eclipse (Counterclockwise)).