学習ログ

:info

Prelude> :info Ordering
data Ordering = LT | EQ | GT -- Defined in GHC.Ordering
instance Bounded Ordering -- Defined in GHC.Enum
instance Enum Ordering -- Defined in GHC.Enum
instance Eq Ordering -- Defined in GHC.Base
instance Ord Ordering -- Defined in GHC.Base
instance Read Ordering -- Defined in GHC.Read
instance Show Ordering -- Defined in GHC.Show

head, last, tail

Prelude> head [1,2,3]
1
Prelude> last [1,2,3]
3
Prelude> tail [1,2,3]
[2,3]

Prelude> let add_all xs = if null xs then 0 else (head xs) + add_all(tail xs)
Prelude> add_all [1..10]
55

take, drop

Prelude> take 6 [1..10]
[1,2,3,4,5,6]
Prelude> drop 6 [1..10]
[7,8,9,10]

fst, snd

Prelude> fst (1, 2)
1
Prelude> snd (1, 2)
2
|haskell|<

** map
>|haskell|
Prelude> :type map
map :: (a -> b) -> [a] -> [b]
Prelude> map log [1..3]
[0.0,0.6931471805599453,1.0986122886681098]
Prelude> map exp [1..3]
[2.718281828459045,7.38905609893065,20.085536923187668]
Prelude> map ((*) 3) [1..3]
[3,6,9]