( f "abcdef" ( 3::Int ) ( 5::Int ) == "de" ) && f "U" ( - (1::Int)) ( - (1::Int)) == "U" ( f ( 4::Int ) [ ( 1::Int ) , ( 2::Int ) , ( 3::Int ) ] == ( 10::Int ) ) && f ( - (1::Int)) [ ] == - (1::Int) (f "snbns" && not ( f "smns" ) ) && f "12345" == False (f [ ( ( 3::Int ) + ) , ( * ( 8::Int ) ) ] [ ( 2::Int ) , ( 4::Int ) ] == [ ( 5::Int ) , ( 32::Int ) ] ) (f [ ( + ( 3::Int ) ) , ( ( 4::Int ) - ) ] ( 5::Int ) == [ ( 8::Int ) , - ( 1::Int ) ] ) const True ( f :: [ Char ] ) f "56789" (0::Int)== '9' && f "5678910" (1::Int)== '1' f "abbcccbbb" == "abc" f "abbcccbbb" == [ "a" , "bb" , "ccc" , "bbb" ] f "abcd" "efgh" == "aebfcgdh" f "abcde" 'c' == (2::Int) f "abcde" (2::Int)== "de" && f "abc" (1::Int)== "c" && f "1h" ( - (1::Int)) == "" f "asddf" == (5::Int) f "e" (2::Int)== "ee" && f "r" (3::Int)== "rrr" f "ehog" "hog" && not ( f "hop" "hon" ) f ',' [ "kore" , "wa" , "pen" ] == "kore,wa,pen" f 'c' 'c' && not ( f 'g' 'h' ) f ( ( * ) :: Int -> Int -> Int ) [ (2::Int), (4::Int), (5::Int)] == [ (4::Int), (16::Int), (25::Int)] f ( (3::Int), (4::Int)) == (7::Int) f ( * (3::Int)) [ (5::Int), (7::Int)] == [ (15::Int), (21::Int)] f ( - (3::Int)) == Left (3::Int)&& f (4::Int)== Right (4::Int) f ( 7::Int ) ( 7::Int ) && not ( f ( 7::Int ) ( 6::Int ) ) f ( Left ( - (3::Int)) ) == (3::Int)&& f ( Right (4::Int)) == (4::Int) f ( succ :: Int -> Int ) (1::Int)== (2::Int) f (3::Int)"abcde" == 'd' f (3::Int)(5::Int)== [ (3::Int), (4::Int), (5::Int)] f (4::Int)== (24::Int)&& f (5::Int)== (25::Int) f (4::Int)[ (1::Int), (2::Int), (3::Int)] == (10::Int) f == [ (1::Int), (3::Int)] f True True == True && f False False == True f [ "ABCDE" , "DF" , "1234" , "" ] == [ "" , "DF" , "1234" , "ABCDE" ] f [ ( 'a' , (1::Int)) , ( 'b' , (2::Int)) ] 'b' == Just (2::Int) f [ ( (3::Int)* ) , ( (4::Int)+ ) ] (8::Int)== [ (24::Int), (12::Int)] f [ ( (3::Int)+ ) , ( * (8::Int)) ] [ (2::Int), (4::Int)] == [ (5::Int), (32::Int)] f [ ( 6::Int ) , ( 5::Int ) , ( 5::Int ) , ( 3::Int ) , ( 6::Int ) ] == [ ( 3::Int ) , ( 5::Int ) , ( 6::Int ) ] f [ (1::Int), (2::Int), (1::Int), (1::Int)] ~= 0.2 f [ (1::Int), (2::Int), (1::Int), (1::Int)] ~= [ 0.2 , 3.0 ] f [ (1::Int), (2::Int), (2::Int), (3::Int), (3::Int), (3::Int), (2::Int), (2::Int), (2::Int)] == [ (1::Int), (2::Int), (3::Int)] f [ (1::Int), (2::Int), (2::Int), (3::Int), (3::Int), (3::Int), (2::Int), (2::Int), (2::Int)] == [ [ (1::Int)] , [ (2::Int), (2::Int)] , [ (3::Int), (3::Int), (3::Int)] , [ (2::Int), (2::Int), (2::Int)] ] f [ (1::Int).. (5::Int)] == (4::Int)&& f [ - (2::Int), - (3::Int)] == ( - (2::Int)) f [ (3::Int), (4::Int)] [ (4::Int), (5::Int)] == [ (7::Int), (9::Int)] f [ True ] [ True ] && not ( f [ True ] [ False ] ) length ( f :: String ) == ( 1::Int ) f [3, 4.5, 7.5] ~= 5.0 f 3.54 ~= 3.5 f [3,4,0.2] ~= [9,16,0.04] f 3.7 ~= 4 f [3, 4] [5, 6] ~= [3.5, 4.6] ( f "abc" 'c' == 3 ) && f "Abc\nd Ef" 'b' == 2 ( f ( + 4 ) ( Just 6 ) == ( Just 10 ) ) && f id ( Just ( - 1 ) ) ~= Just ( - 1 ) f "123" == 'a' f 32 == ' ' ( ( ( ( ( f "kristoffer" "reffotsirk" == True ) && f "" "\nm Z" ~= False ) && f "\nm Z" "" ~= False ) && f "" "" ~= True ) && f "\nm Z" "\nm Z" ~= False ) && f "" "12345" ~= False f "ancd ed ad e ww" == [ 15 , 5 ] f "a" == f "a" f "lollolabacad" 2 ~= "ollbcd" f ( + 4 ) ( Just ( Just 6 ) ) == Just ( Just 10 ) f ( 1 , 'a' ) ~= ( 3 , 'c' ) f 1 'a' ~= ( 2 , 'b' ) f 'a' ~= 'b' f ( Left 3 ) == 3 && f ( Right 4 ) == 4 f 1 ( Just 1 ) ( Just ( Just 1 ) ) ( Just ( Just ( Just 1 ) ) ) ( Just ( Just ( Just ( Just 1 ) ) ) ) ( Just (Just ( Just ( Just ( Just 1 ) ) ) ) ) == 1 f 1 [ 1 ] [ [ 1 ] ] [ [ [ 1 ] ] ] [ [ [ [ 1 ] ] ] ] [ [ [ [ [ 1 ] ] ] ] ] == 1 f 1 ~= [ [ ] ] && f 2 ~= [ [ [ ] ] , [ ] ] f 2 ( ) == 1 f 2 [ 1 , 2 ] == [ [ 1 , 1 ] , [ 1 , 2 ] , [ 2 , 1 ] , [ 2 , 2 ] ] f 3 == [ "a" , "b" , "c" ] ( f "abc" 'c' == 3 ) && f "Abc\nd Ef" 'b' == 2 f 'a' == [ "a" , "b" , "c" ] f 3 [ 1 , 2 , 4 , 7 ] == [ 1 , 2 , 3 , 4 , 7 ] f [ "a" , "b" , "c" , "d" ] ~= "e" f [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] == [ "000" , "001" , "011" , "010" , "110" , "111" , "101" , "100" ] f [ 1 , 2 ] [ 3 , 4 ] ~= [ [ 1 , 3 ] , [ 1 , 4 ] , [ 2 , 3 ] , [ 2 , 4 ] ] f [ Nothing , Nothing , Just "a" , Just "b" ] == "a" f [ const 3 , head , ( sum . take 2 ) ] == [ 3 , 3 , 6 ] f [ f [ 3 , 4 , 5 ] + 5 ] ~= 12.1 fmap f [ 1 , 2 , 3 , 4 ] ~= [ sinh 1 , cosh 2 , sinh 3 , cosh 4 ]