Câu lệnh rẽ nhánh trong Haskell khá đơn giản và giống hầu hết các ngôn ngữ khác. Cú pháp là:
if <biểu_thức> then
<Các câu lệnh>
else if <biểu_thức> then
<Các câu lệnh>
...
else
<Các câu lệnh>
Ví dụ:
main :: IO ()
main = do
let v = 10
if v `rem` 2 == 0 then
putStrLn "Even number"
else
putStrLn "Odd number"
Trong đoạn code trên, chúng ta định nghĩa biến v có giá trị là 10. Sau đó kiểm tra xem v là số lẻ (odd nunber) hay số chẵn (even number).
Ở đây chúng ta có dùng từ khóa do. Chúng ta sẽ tìm hiểu về từ khóa này sau.
Ngoài ra Haskell có 2 hàm để kiểm tra xem 1 số có phải số lẻ hay số chẵn không, đó là odd và even. Ví dụ:
main :: IO ()
main = do
let v = 9
if v == 0 then
putStrLn "Zero is neither odd nor even"
else if even v then
putStrLn "Even number"
else if odd v then
putStrLn "Odd number"
else
putStrLn "Unknown"