square x = x*x
square = \ x -> x*x
list1 = map (\x -> x*x) [4,5,6] list2 = map sq ns where sq x = x*x ns = [4,5,6]
fac 0 = 1 fac n | n>0 = n * fac(n-1)
fac = \ x -> case x of 0 -> 1 n | n>0 -> n * fac(n-1)
name = …
\ x -> …
case … of …
data Bool = False | True data Suit = Spades | Hearts | Diamonds | Clubs
data Rank = Numeric Int | Jack | Queen | King | Ace
data Card = Card Rank Suit
fac 0 = 1 fac n = n * fac(n-1) f x = f x
x,y :: Int
x = x
y = 2*y
ha,haha :: String ha = "ha"++ha haha = take 10 ha
haha == "hahahahaha"
data Hand = Empty | Add Card Hand data List a = Nil | Cons a (List a) data Nat = Zero | Succ Nat
Nat
data Nat = Zero | Succ Nat -- Peano's natural numbers
data Hand = Empty | Add Card Hand
data List a = Nil | Cons a (List a)
data Nat = Zero | Succ Nat -- Peano's natural numbers
hand = Add c1 (Add c2 (Add c3 Empty) list = Cons 1 (Cons 2 (Cons 3 (Cons 4 Nil))) number = Succ (Succ (Succ Zero))
data BTree = Leaf | Node BTree Int Btree
9
Wrong! The correct answer is 7.
What is 4*(5+1)+3? 27
Yes! That is correct!
data Expr = Const Integer | Add Expr Expr | Mul Expr Expr