以下の単純な例は関数型言語としての構文の実例にしばしば用いられるもので、Haskell で示された階乗関数である。 fac :: Integer -> Integer fac 0 = 1 fac n | n > 0 = n * fac (n-1)階乗を単一の条件による終端を伴う再帰的関数として表現している。これは数学の教科書でみられる階乗の表現に似ている。Haskell コードの大半は、その簡潔さと構文において基本的な数学的記法と似通っている。この階乗関数の1行目は関数の型を示すもので、省略可能である。これは「関数 fac は Integer から Integer へ（Integer -> Integer）の型を持つ（::）」と読める。これは整数を引数としてとり、別の整数を返す。もしプログラマが型注釈を与えない場合、この定義の型は自動的に推測される。2行目では Haskell の重要な機能であるパターンマッチングに頼っている。関数の引数が 0であれば、これは 1 を返す。その他の場合は3行目が試される。これは再帰的な呼び出しで、nが0に達するまで繰り返し関数が実行される。ガードは階乗が定義されない負の値から3行目を保護している。このガードが無ければこの関数は0の終端条件に達することなく、再帰してすべての負の値を経由してしまう。実際、このパターンマッチングは完全ではない。もし関数facに負の整数が引数として渡されると、このプログラムは実行時エラーとともに落ちるであろう。fac _ = error "negative value"のように定義を追加すれば適切なエラーメッセージを出力することができる。
Haskell で順序付けられた複数の値を扱うのにもっとも柔軟で簡潔な方法はリストを用いることである。次は四季の名前のリストである。 ["Spring", "Summer", "Autumn", "Winter"]次は初項10、公差4の等差数列のリストである。このリストは無限リストであり、その長さは無限大である。 [10, 14..]次の式は先ほどの数列の先頭20項を要素に持つリストである。take n l はリスト l の先頭 n 個の項を要素に持つリストを返す関数である。 take 20 [10, 14..]もし正格な動作を持つ言語でこのような定義をしようとすると関数 take に値を渡す前に無限リストを生成することになるが、長さが無限のため無限リストの生成が終わることはなく関数 take がいつまでも呼び出されなくなってしまう。Haskell は遅延評価されるため、このようなリストを定義しても必要になるまで必要な項の値の生成は遅延される。このように無限リストを扱えるのは Haskell の大きな強みである。次は素数列をリスト内包表記を用いて定義した一例である。 primes :: [Int] primes = [x | x <- [2..], and [rem x y /= 0 | y <- [2 .. x - 1]]]リストはその柔軟性から再帰的な関数での値の受け渡しに向いているが、任意の位置の要素にアクセスするためには参照を先頭からたどる必要があるのでランダムアクセスが遅い、要素を変更するたびにリストの一部を作り直さなければならないなどの欠点がある。このため Haskell にも配列が用意されており、高速な参照や更新が必要なプログラムではリストの代わりに配列を用いることでパフォーマンスを改善できる可能性がある。
Haskell では関数の引数を様々な形で受け取ることができる。次は整数の要素をもつリストの全要素の合計を返す関数 total である。total :: [Int] -> Inttotal [] = 0total (x:xs) = x + total xstotal の関数本体の定義がふたつあるが、このうち引数の実行時の値と適合する本体が選択され呼び出される。上の本体定義では、引数が空のリストであるときのみ適合し、呼び出される。下の本体定義では、引数が少なくともひとつの要素を持つとき適合し、x に先頭の要素が束縛され、xs に残りのリストが束縛される。この例の場合はパターンに漏れはないが、もし適合するパターンが見つからない場合はエラーになる。複数の返り値を扱うのもタプルなどを利用して極めて簡明に書くことができる。(x, y) = (10, 20)このとき、定義される変数は x および y で、それぞれ x は 10 に、y は 20 に定義される。
ハファエルのECヴィトーリア初出場は、2009年1月25日のバイーア州リーグ第3節コンクイスタ戦であった。ハファエルはこの試合に後半32分から途中出場した。ハファエルはその後も途中交代要員に留まり、1月29日のバイーア州リーグ第4節ポソエス戦には後半18分から途中出場、2月5日のバイーア州リーグ第6節フルミネンセ・フェイラ戦には後半27分から途中出場、2月15日のバイーア州リーグ第9節マドレ・デ・デウス戦には後半3分から途中出場、2月19日のバイーア州リーグ第10節カマサリ戦には後半21分から途中出場、2月27日のバイーア州リーグ第11節イタブナ戦には後半15分から途中出場した。2月19日のバイーア州リーグ第10節カマサリ戦では、途中出場した直後の後半24分に初ゴールを挙げた。ECヴィトーリアにおける初の先発出場は、3月1日のバイーア州リーグ第12節イタブナ戦であった。ハファエルはこの試合において、後半16分に得点を挙げた。ハファエルはその後も第15節まで4試合連続でリーグ戦に先発出場した。3月8日のバイーア州リーグ第13節カマサリ戦では1対0のリードを守るため、守備固めとして後半9分に途中交替した。3月12日のバイーア州リーグ第14節マドレ・デ・デウス戦はフル出場。3月15日のバイーア州リーグ第15節イピタンガ戦では後半4分にイエローカードを受け、後半16分に途中交替となった。3月22日のバイーア州リーグ第16節バイーア戦ではベンチスタートとなり、後半1分に途中出場した。この試合は前半だけで両チーム合わせてイエローカード7枚、ECバイーアに退場者1名が出る荒れた試合展開となった。ハファエルは試合を引き締めるための要員として投入された。しかしながら交替は機能せず、試合はスコアレスドローに終わった。試合後、ECヴィトーリアの監督は「交替後のほうが怠慢なプレーが目立った」「創造性がまったく見られない」と苦言を呈した。この試合以降、ハファエルは公式戦から遠ざかった。4月12日のバイーア州リーグ第22節アラゴアス戦では後半1分から途中出場したが、これがハファエルにとってのECヴィトーリア最後の公式戦となった。ハファエルは2009年のバイーア州リーグ終了後、ECヴィトーリアを退団した。