Haskell OCaml
整数 Int int
文字 Char char
文字列 String = [Char] string
真偽値 Bool(True) bool(true)
型aのリスト [a] ([1, 2, 3]) a list ([1; 2; 3])
型変数 (a, b, c) ('a, 'b, 'c)

※ ()内はリテラルの例

多相型: 型変数を含む型

型宣言

{- Haskell -}
firstNLines :: Int -> String -> String
firstNLines n cs = unlines $ take n $ lines cs
(* OCaml *)
let firstNLines (n : int) (cs : string) : string =
  unlines (take n (lines cs))

Haskell"::"で型を指定し、":"がリストのcons。OCamlとは記号が逆なことに注意。