27. var f = function(a) {
return function(b) {
return function(c) {
return a + b + c }}};
f(3)(5)(7) //=> 15
f a b c = a + b + c
f a b = (c -> a + b + c)
f a = (b -> (c -> a + b + c))
f = (a -> (b -> (c -> a + b + c)))
f 3 5 7 -- 15
28. f a b = a + b
f a b = (+) a b
f = (+)
addOne a = 1 + a
addOne a = (+) 1 a
addOne = (+) 1
addOne = (1 +)
map (1 +) [1, 2, 3]
30. tmp = [];
[1, 2].each(function(x) {
[10, 20].each(function(y) {
tmp.push(x + y)
})
});
[ x + y | x <- [1, 2], y <- [10, 20]]
{x + y|x ∈ X, y ∈ Y }
31. tmp = [];
$R(1, Infinity).each(function(x) {
if (x % 2 == 0 && x < 10) {
tmp.push(x)
}
});
[ x | x <- [1..], x `mod` 2 == 0, x < 10]
{x|x ∈ N, x ≡ 0 mod 2, x < 10}
32. fib again
h (+) fib (tail fib)
fib = 1 : 1 : zipWit
33. how to use
• sudo port install ghc
• HotMac :-)
• runghc a.hs
• ghc a.hs && ./a.out
• ghci