Kaleidoscope
Limbajul de programare a calidoscopului este un limbaj de programare de programare a constrângerii constrângerilor într-un limbaj imperativ orientat pe obiect.
Adăugă cuvinte cheie întotdeauna, o dată, și afirmă..During (anterior în timp ce..assert) pentru a face declarații despre invariante relaționale.
Obiectele au constructori de constrângere, care nu sunt metode, pentru a aplica semnificațiile tipurilor de date definite de utilizator.
Există trei versiuni ale caleidoscopului care arată o evoluție de la declarativ la un stil din ce în ce mai imperativ.
Diferențele dintre ele sunt următoarele.