PrintAs.hs revision fcd50ed0f526645ca50bad2170e3b98b911b7678
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuModule : $Header$
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuDescription : print the abstract syntax of FreeCAD terms
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuCopyright : (c) Robert Savu and Uni Bremen 2011
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuLicense : GPLv2 or higher, see LICENSE.txt
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuMaintainer : Robert.Savu@dfki.de
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuStability : experimental
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuPortability : portable
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae BungiuPrinting of the abstract syntax of FreeCAD terms
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu-- | Pretty printing 'Double'
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuinstance Pretty Double where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu pretty = sidDoc . mkSimpleId . show
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuinstance Pretty Vector3 where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu pretty v = pretty (x v, y v, z v)
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiuinstance Pretty Matrix33 where
a604cbad8e2202147b5c6bb9f2e06ae61162d654Felix Gabriel Mance pretty m = vcat [lparen <> rows, rparen] where
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu rows = vcat [row1, row2, row3]
be2439588008221e691321fdf4f75432cfb72878Felix Gabriel Mance row a b c = sepByCommas $ map pretty [a m, b m, c m]
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu row1 = row a11 a12 a13
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu row2 = row a21 a22 a23
ee93ea764a2b8189253e912c8447f9419033f6d4Francisc Nicolae Bungiu row3 = row a31 a32 a33