Haskell has Cairo bindings as part of gtk2hs.  The package on Hackage is called 'cairo'.  You can certainly preview on the screen, but I'm less sure about exporting to PDF, since the bindings were intended for GUI programming.  At least PNG output is possible, though; PDF may be, as well.

http://hackage.haskell.org/package/cairo