jparasol
The jparasol package implements a minimalist pure-functional
shading language. The language provides an offline compiler that
automatically produces GLSL
source code for every version of OpenGL including ES1, ES3, and 2.1-4.4.
The language emphasizes correctness, predictability, portability, and auditability.
It provides a simple module system to prevent problems caused by the chaotic
and endlessly polluted namespace of GLSL, and allows for shader code to be
separated into reusable libraries.
Features
- Brutally minimal: Function application, conditionals, record expressions. No operators. No overloading.
- Clean and simple module system, for safe namespacing. No more preprocessing!
- Produces multiple GLSL sources as output; write your shaders once in Parasol and automatically support every available GLSL version!
- Produces efficient and readable GLSL source as output.
- Nominal typing, with complete static checking and partial inference.
- Full language specification with operational semantics and type rules.
- ISC license.