Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

37 lines (33 sloc) 2.019 kB
-- | Demonstration of ambiguity in HughesPJ library at this time. GHC's
-- internal copy has a different answer than we currently do, preventing them
-- using our library.
module Main (main) where
import Text.PrettyPrint.HughesPJ
main :: IO ()
main = do
putStrLn ""
putStrLn "Note that the correct definition of sep is currently unclear"
putStrLn "It is neither foldr ($+$) empty nor foldr ($$) empty"
putStrLn "------------------------------------------------------------"
let test1 = [ text "" $+$ text "c", nest 3 ( text "a") ]
let test2 = [ text "c", nest 3 ( text "b") ]
putStrLn "--------------------------Test 1----------------------------"
putStrLn "[ text \"\" $+$ text \"c\", nest 3 ( text \"a\") ]"
putStrLn "-----------------------------sep----------------------------"
print $ renderStyle style{lineLength=1} $ sep test1
putStrLn "-----------------------------<+>----------------------------"
print $ renderStyle style{lineLength=1} $ foldr (<+>) empty test1
putStrLn "-----------------------------$+$----------------------------"
print $ renderStyle style{lineLength=1} $ foldr ($+$) empty test1
putStrLn "------------------------------$$----------------------------"
print $ renderStyle style{lineLength=1} $ foldr ($$) empty test1
putStrLn "--------------------------Test 2----------------------------"
putStrLn "[ text \"c\", nest 3 ( text \"b\") ]"
putStrLn "-----------------------------sep----------------------------"
print $ renderStyle style{lineLength=1} $ sep test2
putStrLn "-----------------------------<+>----------------------------"
print $ renderStyle style{lineLength=1} $ foldr (<+>) empty test2
putStrLn "-----------------------------$+$----------------------------"
print $ renderStyle style{lineLength=1} $ foldr ($+$) empty test2
putStrLn "------------------------------$$----------------------------"
print $ renderStyle style{lineLength=1} $ foldr ($$) empty test2
Jump to Line
Something went wrong with that request. Please try again.