Projects

Currently Funded Projects

O’Doyle Rulesopen in new tab icon

Clojure needs another good rules engine. Clara is great but the lack of ability to update facts makes it difficult to use outside of “pure” logic problems. O’Doyle implements the same RETE algorithm but makes it more useful for general purpose “messy” use cases like managing the state of a frontend app or a game.

clj-kondo/babashka/sciopen in new tab icon

Clj-kondo is a Clojure linter that is used by a wide variety of individual users and companies.

Babashka is a scripting environment that can execute a significant subset of JVM Clojure programs with instant startup. It is used by individual users and companies. It is currently my project with the most stars on Github.

Sci is the Clojure interpreter powering babashka and several other projects.

ClojisRopen in new tab icon

The purpose of this project is to take an active part in improving Clojure’s data science stack, especially in aspects of usability, user-facing features, and documentation.

A large part of that effort is happening in the Scicloj community with which this project is associated.

The work that we’ll be doing with this funding will enable us to get closer to our goal of making Clojure a beginner-friendly solution for data science, thereby allowing us to expose the Clojure ecosystem to a different culture and to more diverse groups of users/programmers - starting with new developers and data scientists studying R as their main language.

Calvaopen in new tab icon

We’ve seen that Calva helps new Clojurists get up and running with Clojure without having to worry so much about tooling. Perhaps more importantly, VS Code has become such a major platform for developers and it’s important to have Clojure(Script) support in the developers' editor of choice.

Previously Funded Projects

Q3 2020

clj-kondo/babashka/sciopen in new tab icon

Clj-kondo is a Clojure linter that is used by a wide variety of individual users and companies.

Babashka is a scripting environment that can execute a significant subset of JVM Clojure programs with instant startup. It is used by individual users and companies. It is currently my project with the most stars on Github.

Sci is the Clojure interpreter powering babashka and several other projects:

Datahikeopen in new tab icon

Within the Clojure Datalog database world Datahike provides a persistent open source solution for medium-sized projects with a relatively small and extensible code base. It supports a variety of persistent storages like JDBC or Redis. Additionally Datahike supports parts of the well-known Datomic API to better adapt to its functionality.

By adding ClojureScript support in the future, Datahike goes beyond the backend market with a vision of a distributed cross-platform system environment that speaks Datalog everywhere. With two commercial projects in progress, Datahike becomes more battle-tested in production environments.

Malliopen in new tab icon

Clojure is a data-oriented language and we should have a solid fully data-driven schema library too! Besides validation and value transformations, we should be able transform, persist, generate and infer schemas just like normal data. Malli tries to be develop-friedly library to companion to other data-driven libs like EQL, Bidi, HoneySQL, Hiccup, Integrant, Reagent and Reitit.

Malli has an open development model, design decions are discussed in slack (#malli) and in GitHub issues. Not a top goal, but eventually, Malli should be spec-compatible.

Practicalliopen in new tab icon

Practicalli helps the community to grow by providing quality content for people to learn, share and help others more readily discover the joy of Clojure.

Q2 2020

re-frameopen in new tab icon

re-frame is one of the most widely used ClojureScript projects with 4.3k stars on GitHub and 1.1 million downloads on Clojars. This work will do some spring cleaning and TLC for the project, reviewing open issues and PRs. Also, creating an EP, and doing work on related re-frame projects.

Practicalliopen in new tab icon

High quality and up to date information helps any developer using Clojure find the help they need, whether they are experienced or new to Clojure. Finding the time to teach developers how to work with Clojure is time consuming for developers, so a reliable source of information speeds up on-boarding and skilling-up of developers.

CIDER/nREPL/Orchardopen in new tab icon

CIDER’s the most popular IDE in the Clojure community, and nREPL and CIDER’s Orchard are at the heart of most other tools that exist out there.

Figwheelopen in new tab icon

lein-figwheel has 1.1 million downloads on clojars and figwheel-main has 100k downloads. They are widely used and influential in the ClojureScript and wider programming communities.

Q1 2020

Ringopen in new tab icon

Ring is the most commonly used HTTP abstraction layer for Clojure. Clojurists Together funded James Reeves, Ring’s maintainer to build out a draft spec and experimental alpha for Ring 2.0. This will add better support for asynchronous HTTP connections, and pave the way to support HTTP/2 and HTTP/3 in future. As a secondary objective, he is also working on removing the provided dependency on Java servlets from Ring core

Reagentopen in new tab icon

Based on Clojars downloads Reagent is the most used ClojureScript React wrapper. Reagent is also one of the most popular ClojureScript projects on GitHub with 3.7k stars. Juho Tepieri is a maintainer of Reagent and will be working on supporting React Hooks, and a configurable Reagent Hiccup compiler.

Calvaopen in new tab icon

Calva is a Clojure IDE plugin for VS Code. Calva helps new Clojurists get up and running with Clojure without having to worry so much about tooling. VS Code has become a major platform for developers and its important to have Clojure(Script) support in the developers' editor of choice. We funded Brandon Ringe, a Calva maintainer to work on supporting large data sets and Clojure debugging support.

fireplace.vimopen in new tab icon

Tim Pope is the maintainer of Fireplace.vim, a Clojure plugin for Vim. In the most recent Clojure survey it was used by 10% of respondents. We funded Tim to work on: Leveraging Vim’s recently added asynchronous APIs for user facing features, providing better automatic configuration for projects, notably Shadow CLJS, and working on outstanding feature requests.

Q4 2019

Expoundopen in new tab icon

Expound is a widely used tool for helping developers more quickly understand spec error messages. Expound is maintained by Ben Brinckerhoff.

Deep Diamondopen in new tab icon

Deep Diamond is a lean, high performance, infrastructure for working with tensors in Clojure, with an emphasis on Deep Learning. Dragan Djuric is the maintainer of Deep Diamond.

Ozopen in new tab icon

While ClojureScript offers a first class front-end development experience, data visualization specifically has long been an under-served need in both Clojure & ClojureScript. Oz gives ClojureScript developers the ability to leverage Vega-Lite and Vega, with their Clojuresque data-driven/declarative design, and close this gap. Oz is maintained by Chistopher Small.

Q3 2019

CIDERopen in new tab icon

CIDER is a very popular programming environment and its infrastructure (nREPL, cider-nrepl, piggieback and orchard) powers many of the other tools out there (e.g. vim-fireplace, vim-iced, calva, etc). Improvements to CIDER and its foundational pieces generally benefits most of the Clojure community. It is maintained by Bozhidar Batsov.

Meanderopen in new tab icon

Meander provides a uniquely transparent way of performing data manipulation that aims to be declarative, performant, and safe. These properties are important because they enable Clojure developers to write correct data manipulation code using a common language which encourages collaboration and thoughtful design without sacrificing dynamism. And because Meander has been designed with both transparency and accuracy in mind, Clojure code written with it can be an asset to a development team and, thus, a business. It is maintained by Joel Holdbrooks.

Calvaopen in new tab icon

VS Code is the editor of choice for many developers and having good Clojure and ClojureScript support on the platform helps newcomers find the joy of Clojure faster. VS Code also is easier to use than many other development environments, and by leveraging this, Calva can make Clojure more accessible generally. It is maintained by Peter Strömberg.

Q2 2019

fireplace.vimopen in new tab icon

Fireplace is a vim plugin for Clojure. It adds REPL integration and was used by 10% of Clojure developers in the most recent Clojure survey. It is the most popular Clojure REPL integration for vim. Tim Pope is going to work on cleaning up the issue tracker, implementing support for Vim 8 and Neovim job support, looking at ClojureScript improvements, and various other fixes and improvements to fireplace.vim and sibling projects like salve.vim

Q1 2019

Neanderthalopen in new tab icon

Neanderthal is a fast native-speed matrix and linear algebra library written in Clojure. Matrices and linear algebra are the infrastructure for high performance scientific software, including machine learning. Dragan Djuric is going to be working on adding higher-level tutorials that give people the bigger picture and shows them good practices.

Alephopen in new tab icon

Aleph is one the best options for creating high-performance communication systems in Clojure, including but not limited to HTTP & websocket clients & servers. It is based on Netty, a high performance network application framework.

Development of Aleph also has an impact on the entire server-side libraries ecosystem, including direct influence by backporting bug fixes to such projects like clj-http (Clojure), Netty (Java) and potentially Ring (Clojure); and indirect influence by pushing boundaries and expending interest in the field.

Q4 2018

Kaochaopen in new tab icon

Kaocha is a Clojure test tool. Kaocha raises the bar for what to expect from tools and provides a platform for innovation and collaboration. Clojure does not have the strongest testing culture, and has not had as much investment into test tooling as other communities. Better tooling would encourage better testing practices, a better testing culture would encourage investing in tooling. Arne Brasseur is the main (and sole) developer of Kaocha.

Datascriptopen in new tab icon

Datascript is a Clojure and ClojureScript database. DataScript has been around for 3+ years, has gotten massive interest from the community, is used in in several production projects (listed on GitHub page), and has been starred on GitHub 3000+ times. Nikita Prokotov is the project creator, and currently maintains Datascript.

Q3 2018

cljdocopen in new tab icon

cljdoc is a website that builds and hosts documentation for Clojure and ClojureScript libraries. Poor and out-of-date documentation has long been a complaint of Clojure developers. cljdoc improves the state of Clojure documentation by providing minimal-effort documentation building and hosting for all Clojure jars on Clojars and Maven. In our most recent survey, improving documentation was a common request. Martin Klepsch maintains cljdoc.

Shadow CLJSopen in new tab icon

Shadow CLJS is a ClojureScript build tool that covers the entire spectrum from development and testing to production builds. It assumes no prior knowledge of the JVM or Clojure to get started, which makes it more accessible to a broader audience. Thomas Heller maintains Shadow CLJS.

Q2 2018

CIDERopen in new tab icon

CIDER is the most widely adopted Clojure development environment. In the most recent Clojure survey CIDER was the primary development environment for 50% of survey respondents. Additionally, in our most recent survey, it featured highly as a project important to our members workflows. It is maintained by Bozhidar Batsov.

ClojureScriptopen in new tab icon

ClojureScript probably needs little introduction to most readers here. It is a dialect of Clojure that compiles to JavaScript to be able to target the browser, NodeJS, and the dozens of other platforms where JavaScript has a runtime. 83% of our members use ClojureScript in their work. We are funding Mike Fikes to continue his excellent work on the ClojureScript compiler. Mike is the number 2 or 3 contributor to ClojureScript (depending on how you count).

Q1 2018

clj-httpopen in new tab icon

clj-http is one of the most popular Clojure open source projects, with over 3 million downloads on Clojars. It is maintained by Lee Hinman. It’s used by quite a few other clients as a base HTTP client.

Figwheelopen in new tab icon

Figwheel is one of ClojureScript’s secret weapons, enabling ridiculously high productivity via live-reloading ClojureScript code. It is maintained by Bruce Hauman. It is one of the most used ClojureScript tools in the community.