Skip to content


Subversion checkout URL

You can clone with
Download ZIP
a small language for representing calculations
Branch: master
Failed to load latest commit information.
src Reorganize, push elementary lexer
test Reorganize, push elementary lexer
Makefile Update readme
package.json Doit
parser.js Reorganize, push elementary lexer


A small language for representing calculations. Targeted at implementing map projections via code injection.

It's made to look like Javascript, and actually run as Javascript, though the implementation has no official relation. It's a compact language that should be easy to implement in C++ as well.

This is meant to be the endgame of the Project It Yourself project - a way to represent arbitrary projections in a code-as-configuration way that allows for autoconfiguration.


  • Secure: no access to Javascript objects
  • Only numbers allowed: no other types
  • Tiny implementation
  • Projections with parameters, like Albers, should be represented just like any other and must state default values: but they can be curried to provide those parameters.

Possible features:


Why not JavaScript?

Security, simplicity and guarantees. There is no good way to clean untrusted JavaScript. It's easier to implement a simple language in other targets - like C++. And this will only fail in one way.

Why not EPSG or proj4 strings?

Because they rely on everyone having shared dictionaries of implementations, and agreeing on internal implementations.

Something went wrong with that request. Please try again.