Distingue-se das linguagens de programação principais do tempo por incluir modelos (i.e., um tipo de dados cujos valores podem ser manipulados de todas as formas permitidas para todos os outros tipos de dados existentes na linguagem) como um tipo de dados de primeira classe e por disponibilizar operadores para a concatenação e alteração de modelos.
dˌiʃtˈiŋɡwɨsɨ dɐʒ lˌiŋɡwˈaʒeɪŋz dɨ pɹˌuɡɹɐmɐsˈɐ̃ʊ̃ pɹˌiŋsipˈaɪʒ dʊ tˈeɪmpʊ puɹ ˌiŋkluˈiɹ mˌudˈelʊʃ ˈi.ˈɛ., ũŋ tˈipʊ dɨ dˈadʊʃ kˈuʒʊʒ vˌɐlˈoɾɨʃ pˌɔdeɪŋ sɨɹ mɐnˌipulˈadʊʒ dɨ tˈodɐz ɐʃ fˈɔɾəmɐʃ pˌeɾəmitˈidɐʃ pˌɐɾɐ tˈodʊz uz ˈowtɹʊʃ tˈipʊʒ dɨ dˈadʊz ˌeziʃtˈeɪŋtɨʒ nɐ lˌiŋɡwˈaʒeɪŋ kˈomw ũŋ tˈipʊ dɨ dˈadʊʒ dɨ pɹˌimˈeɪɾɐ klˈasɨ i puɹ dˌiʃpunˌibilizˈaɹ ˌɔpɨɾɐdˈoɾɨʃ pˌɐɾɐ ɐ kˌuŋkɐtˌenɐsˈɐ̃ʊ̃ i ˌɑltɨɾɐsˈɐ̃ʊ̃ dɨ mˌudˈelʊʃ.