Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
29 lines (25 sloc) 877 Bytes
-- This script compares the strict and lazy Text APIs to ensure that
-- they're reasonably in sync.
{-# LANGUAGE OverloadedStrings #-}
import qualified Data.Set as S
import qualified Data.Text as T
import System.Process
main = do
let tidy pkg = (S.fromList . filter (T.isInfixOf "::") . T.lines .
T.replace "GHC.Int.Int64" "Int" .
T.replace "\n " "" .
T.replace (T.append (T.pack pkg) ".") "" . T.pack) `fmap`
readProcess "ghci" [] (":browse " ++ pkg)
let diff a b = mapM_ (putStrLn . (" "++) . T.unpack) . S.toList $
S.difference a b
text <- tidy "Data.Text"
lazy <- tidy "Data.Text.Lazy"
list <- tidy "Data.List"
putStrLn "Text \\ List:"
diff text list
putStrLn ""
putStrLn "Text \\ Lazy:"
diff text lazy
putStrLn ""
putStrLn "Lazy \\ Text:"
diff lazy text
Jump to Line
Something went wrong with that request. Please try again.