repeat Bir veya daha fazla sayıda ifadeyi verilen sayı kadar çalıştırır ve son ifadenin değerini geri döndürür.
(repeat 4 (prompt “hi “)) ekranda “hi” yazısını görüntületir ve hiçbir şey geri döndürmez
(setq k 0) ifadesinden sonra
(repeat 4 (setq k (1+ k))) 4 olarak geri döner
(setq c 10) ifadesinden sonra
(repeat 3 (princ c) (princ “/”) (setq c (+ c 5))) ekranda “10/15/20/” yazısını görüntületir ve 25 olarak geri döner
(setq L1 (list a b c d e f g)) ifadesinden sonra
(repeat 3 (setq L1 (cdr L1))) (D E F G) olarak geri döner
Birinci argüman muhakkak bir tam sayı olmak zorundadır.
while Kontrol (Test) ifadesi Doğru “True” (T) (sıfırdan başka bir değerde) kaldıkça sürekli olarak bir veya daha fazla ifadeyi işler ve son ifadenin değerini geri döndürür.
(setq c 0 n 100) ifadesinden sonra
(while (< c 5) (setq c (1+ c)) (setq n (- n 2)) (princ n) (princ ” “))
Yukarıdaki ifade komut satırına 98 96 94 92 90 yazdırır. İlk ifade olan “(< c 5)” kontrol ifadesidir. İşlem while döngüsü içerisine ilk girdiği zaman, kontrol ifadesi işlenir. Şayet bu ifade Doğru “True“ (T) olarak geri dönerse, sonraki ifadeler işletilir. Daha sonra kontrol ifadesi tekrar işlenir ve şayet ifade geçerse (Doğru “True“ (T) olarak geri dönerse), sonraki ifadeler tekrar işlenir.
Bu işlem kontrol ifadesi Doğru “True“ (T) olarak geri dönmeyene dek devam eder ve o noktada döngüden çıkılır.
foreach Verilen bir fonksiyonda veya serideki değerler serisini (bir listeden alınan) değerlerle değiştirir ve son fonksiyonun değerini geri döndürür.
(foreach cümle (list “az ” “sayıda ” “kuş “) (prompt cümle)) komut satırında “az sayıda kuş “ yazısını görüntületir ve hiçbir şey geri döndürmez. Bu
(prompt “az “) (prompt “sayıda “) (prompt “kuş “) ifadesi ile aynı sonucu verir.
(setq h 88 j 55 k 33) ifadesinden sonra
(foreach x (list ‘h ‘j ‘k) (princ x) (princ ” = “) (princ (eval x)) (terpri)) aşağıdaki satırları üretir:
H = 88
J = 55
K = 33
ve hiçbir şey geri döndürmez.