The core of Doodle is built in "tagless final" style. This is a fancy term for saying the functionality is split into a number of different interfaces (the algebras) and different backends will implement some subset of these interfaces. The interfaces, or algebras, live in the algebra package.

This section describes how to create pictures directly using algebras, and how the algebra machinery works.

Using Algebras→