packages feed

haskell-debugger-0.13.0.0: test/integration/T55/Main.hs

module Main where

newtype MyInt = MyInt Int
    deriving (Show)

newtype MyIntX = MyIntX X
    deriving (Show)


data X = X MyInt
    deriving Show

newtype Y = Y MyInt
    deriving Show

newtype Y2 = Y2 MyIntX
    deriving Show

data R = R {_fieldOfR :: MyInt}
    deriving Show

main :: IO ()
main = do
    putStrLn $ show $ bpmi $ MyInt 42
    putStrLn $ show $ bpx $ X (MyInt 42)
    putStrLn $ show $ bpy $ Y (MyInt 42)
    putStrLn $ show $ bpy2 $ Y2 (MyIntX (X (MyInt 42)))
    putStrLn $ show $ bpr $ R (MyInt 42)

bpmi :: MyInt -> MyInt
bpmi mi = mi

bpx :: X -> X
bpx x = x

bpy :: Y -> Y
bpy y = y

bpy2 :: Y2 -> Y2
bpy2 y2 = y2

bpr :: R -> R 
bpr r = r