diff options
author | Camil Staps | 2017-07-19 11:46:32 +0000 |
---|---|---|
committer | Camil Staps | 2017-07-19 11:46:32 +0000 |
commit | d722a77077e89504191728cf42f7d15ddfa209a7 (patch) | |
tree | f3f70e055e9a76dba7eecde01146c697b452f064 /Sil/Util/Printer.dcl | |
parent | Working fibonacci (diff) |
Reorganise
Diffstat (limited to 'Sil/Util/Printer.dcl')
-rw-r--r-- | Sil/Util/Printer.dcl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Sil/Util/Printer.dcl b/Sil/Util/Printer.dcl new file mode 100644 index 0000000..1d8fc5c --- /dev/null +++ b/Sil/Util/Printer.dcl @@ -0,0 +1,23 @@ +definition module Sil.Util.Printer + +from StdOverloaded import class toString, class zero + +from Sil.Parse import :: Token +from Sil.Syntax import :: Program, :: Function, :: CodeBlock, + :: Initialisation, :: Statement, :: Type, :: Application, :: Literal + +:: PrintState + +instance zero PrintState + +class PrettyPrinter t where + print :: PrintState t -> String + +instance PrettyPrinter [Token] +instance PrettyPrinter Program +instance PrettyPrinter Function +instance PrettyPrinter CodeBlock +instance PrettyPrinter Initialisation +instance PrettyPrinter Statement + +printersperse :: a [b] -> String | toString a & toString b |