All Projects → pkamenarsky → Typedraw

pkamenarsky / Typedraw

Licence: mit
Visually describe Haskell/Purescript/Elm types

Programming Languages

javascript
184084 projects - #8 most used programming language

typedraw

An experimental visualization of types.

Type visualization 1 Type visualization 2

Installation

Install Fira Code. Clone this repository, then:

npm -g install .

Usage

typedraw <typemap.json> <out.png>

typedraw reads from stdin, i.e. you can do the following:

cat examples/foreach | typedraw examples/typemap2.json out.png

typedraw replaces all occurences of a type with a visual shape described in a typemap.

Typemaps

Typemaps are simple json files that describe how to render a given type (i.e. st):

{
  "st": [
    [ "rect", "#333", 0, 0, 1, 1 ],
    [ "rect", "#D4145A", 0.25, 0.25, 0.5, 0.5 ]
  ],

  "s": [
    [ "circle", "#D4145A", 0.5, 0.5, 0.25 ]
  ],
}

Only two shapes are supported currently, rects:

[ "rect", color, x, y, width, height ] // coordinates are in the 0 - 1 range

and circles:

[ "circle", color, x, y, radius ] // coordinates are in the 0 - 1 range

Check out the example typemap1.json and typemap2.json files.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].