Home

Contributing to ClojureQL

Although ClojureQL is spearheaded by BIC it has received frequent and important contributions from many contributors. On this page you will find the guidelines for contributing as well as documentation on the internal API.

Feature requests / Bugs

Features

If you have a great idea for a feature which ClojureQL does not currently implement, please add your feature request to the issue tracker at Github: Issue tracker.

Bugs

If you have found a bug in ClojureQL please also report it on the Issue tracker. For bugs it's important that you include a thorough report of what happened and how we can reproduce the issue.

If its a compilation bug please include the Clojure statement, the compiled SQL statement as well as the SQL statement you would have expected.

Contributing code

Contributing code to ClojureQL requires the knowledge of a few guidelines and conventions. It is always highly recommended that you visit #clojureql on irc.freenode.net before undertaking any larger contribution.

General guidelines

It is our ambition to keep the codebase exceptionally clean and robust, which means your code might be reviewed multiple times before being accepted/rejected. Usually if a patch is not accepted straight away, we will provide tips on how to improve the code until it can be merged.

Please make sure, that you keep your code and commit messages clear of any profanity/idle chatter. A commit message must clearly state which area of the code is being changed and which feature is being worked on.

Compiler conventions

ClojureQL is at its core an abstract syntax tree (AST) contained in the fields of the record RTable. Understanding the fields and their use in the compiler is crucial to contributing code which touches the record. In the following we will document the conventions which are not obvious from the code. This document will likely change often as the compiler is constantly being optimized.

Please check back later for more info

Internal functions

Please check back later for more info

Download
Donate
Contribute