summaryrefslogtreecommitdiff
path: root/assignment-13/Util.dcl
blob: baef16546123857a5bd00f0ced49ae7103ea8a86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 :: (PrState -> PrState) [a] -> PrState -> PrState | print a