基本的な代数データ型としては、多くの関数型言語において、言語組み込みのリスト型が用意されており、空リストのためのコンストラクタに相当するリテラルと、追加したい要素と残りのリストを引数に取るコンストラクタ(lispの)に相当する、中置演算子風のコンストラクタ( ":" など)が言語組み込みで用意されている。