Functional MetaPost is a Haskell frontend to the MetaPost language by John Hobby. Users write their graphics as Haskell programs, which then emit MetaPost code that can be compiled into encapsulated PostScript files and smoothly included into e.g. LaTeX.
A collection of useful examples how to use Functional MetaPost can be found in the user's manual. The document doesn't offer very much detail in terms of explanations, but the code samples are quite helpful. Further documentation can be found in the original thesis that describes the implementation. The text is also available in German.