ClojureScript Geometry Construction Program
Clojure Shell CSS Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

CljSketch Image


CljSketch is a 2D geometry sketchpad program written in ClojureScript.

The idea is that you construct geometric objects which are defined in terms of other geometric objects, and as you move objects around, all their dependent objects update accordingly.

For example, if you draw two points, then select them and construct the line through them, then drag one of the points, the constructed line will move with it.

At the moment only the following basics are implemented:

  • draw points
  • select two points and construct
    • the line through them, or
    • the segment connecting them
  • select one point and one line and construct
    • the line through the point that is parallel to the selected line
    • the line through the point that is perpendicular to the selected line

Running CljSketch

To run CljSketch, it's online at

just point your browser to that URL. If you login with your Google account you can save any diagrams you create and return to the site later and load them.

If you want to run a local copy:

  1. clone the repo
  2. point your browser to resources/public/index.html

Interactive Development Environment

To play with the CljSketch source code in an interactive REPL:

  1. clone the repo
  2. install Leiningen
  3. from the top level directory in the repo, type lein figwheel
  4. point your browser to http://localhost:3449


Copyright © 2015 Mark Phillips (

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.