!,)/      !"#$%&'()*+,-.Safe8=>?UV)3pprecord Converts Record fields to Boxes.pprecordMerge accessor with field.pprecordFinally reduce list of boxes.pprecord Identical to  Q except no instance for sum types (a necessary restriction for printing tables).pprecord$Reduce Record to Box given a Format.  Example: data List a = List { label :: String, val :: a, tail :: List a } | Nil deriving (Generic, Show) instance FQuery (List a) instance (Show a, Typeable a) => RFmt (List a) test = List "head" 3 $ List "mid" 4 $ List "tail" 5 $ Nil ghci> printBox $ format test dfltFmt label: "head" val: 3 tail: label: "mid" val: 4 tail: label: "tail" val: 5 tail: Nil pprecordEA Format is responsible for converting a Record into a formatted Box.  Example:y dfltFmt :: Format a dfltFmt = Format { arg = text , label = \a b -> text (a <> ":")  +& b , finally = vcat left } pprecordConverts Record fields to Boxes pprecordMerge accessor with field pprecordFinally reduce list of boxes pprecord>Accumulate Record values as [String] (in order of definition). pprecordSee  .pprecordAAccumulate Record accessors as [String] (in order of definition).pprecordSee .pprecord2A table formatter which produces a top-down table.pprecord;Given String representation of accessor and value return b.pprecord3Format Record a with up to n levels of recursivity.pprecordNFormat Record a record fully expanding the data structure if it is recursive.pprecord5Format a list of (FQuery, TFmt) instances as a table.  Example: data Employee = E { eId :: Int , name :: String , email :: String } deriving (Generic, Show) instance FQuery Employee instance TFmt Employee e1 = E 3 "John" "johnbelcher/foobar.xyz" e1 = E 3 "John" "johnbelcher1foobar.xyz" e2 = E 17 "Maria" "Mariafoobar1net.net" e3 = E 1 "Stanley" "stanleytheceo+foobar.org" e4 = E 2 "Kayla" "klabar/foo.com" e5 = E 4 "Sammy" "sammersfoobarfoo.bar" ghci> printBox $ formatTable [e1, e2, e3, e4, e5] tableFmt eId name email 3 "John" "johnbelcher-foobar.xyz" 17 "Maria" "Mariafoobar,net.net" 1 "Stanley" "stanleytheceo(foobar.org" 2 "Kayla" "klabar6foo.com" 4 "Sammy" "sammersfoobar@foo.bar"     /      !"#$%&'()*+,-./pprecord-0.2.0.0-inplaceText.PrettyPrint.RecordsTableFmtargTlabelTfinallyTTFmtRFmtFormatarglabelfinallyVQueryvaluesFQueryfieldsdfltFmttableFmt simpleFmt formatUntilformat formatTable $fFQuery'M1 $fFQuery'M10 $fFQuery'M11 $fFQuery':*: $fFQuery':+: $fFQuery'U1 $fFQuery'V1 $fFQuery'K1 $fVQuery'V1 $fVQuery'U1 $fVQuery'K1 $fVQuery':*: $fVQuery':+: $fVQuery'M1 $fRFmt'V1 $fRFmt'U1 $fRFmt'K1 $fRFmt':*: $fRFmt':+: $fRFmt'M1 $fTFmt'V1 $fTFmt'U1 $fTFmt'K1 $fTFmt':*: $fTFmt'M1