1 definition module GenPrint
5 class PrintOutput s where
6 printOutput :: Char *s -> *s
12 mkPrintState :: *s -> PrintState *s | PrintOutput s
13 mkStringPrintState :: PrintState StringOutput
14 printToString :: a -> String | gPrint{|*|} a
16 (<<-) infixl 0 :: (PrintState *s) a -> *(PrintState *s)
17 | gPrint{|*|} a & PrintOutput s
20 instance PrintOutput StringOutput
21 instance PrintOutput File
23 generic gPrint a :: a (PrintState *s) -> (PrintState *s) | PrintOutput s
25 derive gPrint Int, Real, Char, Bool, String, UNIT, PAIR, EITHER, FIELD, CONS, OBJECT, [], {!}, {}
26 //derive bimap PrintState