diff options
Diffstat (limited to 'assignment-13/Util.dcl')
-rw-r--r-- | assignment-13/Util.dcl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/assignment-13/Util.dcl b/assignment-13/Util.dcl new file mode 100644 index 0000000..11ad93e --- /dev/null +++ b/assignment-13/Util.dcl @@ -0,0 +1,19 @@ +definition module Util + +:: PrState = + { indent :: Int + , output :: [String] + } + +class print a :: a -> PrState -> PrState + +printToString :: a -> String | print a + +instance print String +instance print Int + +nl :: PrState -> PrState +indent :: PrState -> PrState +unindent :: PrState -> PrState + +prsperse :: a [b] -> PrState -> PrState | print a & print b |