------------------------------------------------------------------------- -- -- Main.hs -- -- The main module of the Huffman example -- -- (c) Addison-Wesley, 1996-2011. -- ------------------------------------------------------------------------- -- The main module of the Huffman example module Main (main, codeMessage, decodeMessage, codes, codeTable ) where import Types ( Tree(Leaf,Node), Bit(L,R), HCode , Table ) import Coding ( codeMessage, decodeMessage ) import MakeCode ( codes, codeTable ) main = print decoded -- Examples -- ^^^^^^^^ -- The coding table generated from the text "there is a green hill". tableEx :: Table tableEx = codeTable (codes "there is a green hill") -- The Huffman tree generated from the text "there is a green hill", -- from which tableEx is produced by applying codeTable. treeEx :: Tree treeEx = codes "there is a green hill" -- A message to be coded. message :: String message = "there are green hills here" -- The message in code. coded :: HCode coded = codeMessage tableEx message -- The coded message decoded. decoded :: String decoded = decodeMessage treeEx coded