The Unparse type class and its ParseTree
instance, as well as some text manipulation.
Class Unparse
Types that are unparsable. Unparsing is like prettyprinting, except that instead of pretty source the original source code is retrieved. This means unparsing is only possible for values that were the result of an earlier parse.
Text utility functions
over :: String -> String -> StringSource
over upper lower
places upper
over lower
. The resulting string has the same characters as upper
does, except where upper
contains spaces; at those positions, the character from lower
shows. If lower
is longer than upper
, upper
is padded with enough spaces to show all rest of lower
.