The Lil Playground


  

Lil is the scripting language of Decker. It is strongly influenced by both Lua, an imperative language popular for embedding in tools and game engines, and Q, a functional language in the APL family used with time-series databases. Lil is easy to learn and conventional enough not to ruffle any feathers for users with prior programming experience, but also includes pleasant surprises like implicit scalar-vector arithmetic and an integrated SQL-like query language. A few lines of Lil can go a long way.

This page provides a browser-local environment for experimenting with Lil. As within Decker, the interpreter's speed is artificially capped, and it periodically yields to the browser to ensure liveness. The environment includes the constants e, pi, and colors, the utility interfaces sys, bits, and rtext, and the utility functions print[], show[], exit[], random[], array[], image[], sound[], keystore[], eval[], writecsv[], readcsv[], writexml[], readxml[], and free_canvas[] (which creates a canvas widget not connected to any deck).

Additional Resources