summaryrefslogtreecommitdiff
path: root/assignment-13/Util.icl
diff options
context:
space:
mode:
Diffstat (limited to 'assignment-13/Util.icl')
-rw-r--r--assignment-13/Util.icl38
1 files changed, 0 insertions, 38 deletions
diff --git a/assignment-13/Util.icl b/assignment-13/Util.icl
deleted file mode 100644
index 8c246c7..0000000
--- a/assignment-13/Util.icl
+++ /dev/null
@@ -1,38 +0,0 @@
-implementation module Util
-
-import StdClass
-from StdFunc import id, o
-import StdInt
-import StdList
-import StdOverloaded
-import StdString
-
-from Text import class Text(concat), instance Text String
-
-instance zero PrState
-where
- zero =
- { indent = 0
- , output = []
- }
-
-printToString :: a -> String | print a
-printToString x = concat (print x zero).output
-
-instance print (PrState -> PrState) where print p = p
-instance print String where print s = \st -> {st & output=[s:st.output]}
-instance print Int where print i = \st -> {st & output=[toString i:st.output]}
-
-nl :: PrState -> PrState
-nl st = {st & output=["\n":repeatn st.indent "\t"] ++ st.output}
-
-indent :: PrState -> PrState
-indent st = {st & indent=max 0 (st.indent - 1)}
-
-unindent :: PrState -> PrState
-unindent st = {st & indent=st.indent + 1}
-
-prsperse :: a [b] -> PrState -> PrState | print a & print b
-prsperse _ [] = id
-prsperse _ [x] = print x
-prsperse g [x:xs] = print x o print g o prsperse g xs