context-free-art-0.3.0.1: Generate art from context-free grammars

Copyright(c) Owen Shepherd 2019
LicenseBSD-3-Clause
Maintainer414owen@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Art.ContextFree.Definite

Description

Create art via definite context free grammar production rules.

Synopsis

Documentation

data Modifier Source #

Change the style applied to all downstream terminal symbols.

data Symbol Source #

A terminal or non-terminal symbol.

Constructors

Branch (NonEmpty Symbol)

A non-terminal symbol.

Mod [Modifier] Symbol

Apply modifications to sub-productions.

Circle Float

Produce a circle with a radius.

Poly [Vec]

Produce a polygon by relative points. Starts and ends at (0, 0).

type Vec = (Float, Float) Source #

A vector in 2d euclidian space.

render :: Symbol -> Svg Source #

Create a drawing from a grammar. In order to get a string representation, you'll need to use one of blaze-svg's render functions, for example renderSvg.