Kawa picture language Per Bothner 09 Jul 2020 05:43 UTC

FWIW Kawa has its own picture language.
Its procedures are functional, like SICP, in that
the results are abstract side-effect-free "picture values"
that can be combined using transformations, composition, etc.

SICP combines the concepts of (affine) transformation and bounding box
into a single concept of a "frame",  The Kawa picture model separates
bounding box and transformation in a way that I believe is more
flexible and more in tune with modern 2D APIs.

https://www.gnu.org/software/kawa/tutorial/Pictures.html (introduction, incomplete tutorial)
https://www.gnu.org/software/kawa/Composable-pictures.html (reference)

Note the examples show picture-valued expressions being evaluated
and printed by the Kawa REPL, using the DomTerm terminal emulator.
For example (draw (circle 30)) is not a command to draw a circle.
Instead it creates a picture of a (non-filled) circle that may be
printed or further transformed.  The Kawa REPL when running under
DomTerm then renders the resulting picture value as SVG.
	--Per Bothner
xxxxxx@bothner.com   http://per.bothner.com/