Barry Jay'in son çalışmasında aşina değilim, ama onun büyük iş size şeyleri içerir olamaz tipleri ek bilgi vermek için, Lisp'te yapmak.
Örneğin, bir Lisp veri yapısının boyutunu tanımlamak istediğinizi varsayalım. Bir atomunun 1, ve n, bir listesi için , n , daha genel boyut (x) + boyutu (y) atomu ve (cons x y)
.
Şimdi karışıma türleri atın. Bir listenin boyutu uzunluğudur. Şimdi bir atom listesi listesinin büyüklüğü nedir? Bu veri yapısını bir liste olarak görürseniz (öğeleri atom listesi olur), cevap listenin uzunluğudur. Bu veri yapısını bir liste listesinde saklanan atomlar içeren olarak değerlendirirseniz, cevap öğe listelerinin uzunluklarının toplamıdır.
Türler, ham verilerin bu iki görünümünü (şeklini) ayırt etmenizi sağlar. (Liste) (Liste Atomu) ve (Liste Listesi) (Atom) arasında ayrım yapmanıza izin veren bir tür sistemine ihtiyacınız vardır. Bu ayrımın en yaygın uygulaması tip sınıflarıdır (Haskell'de olduğu gibi).