66 lines
2.7 KiB
Plaintext
66 lines
2.7 KiB
Plaintext
(опиши (саар џ) (сар (сар џ)))
|
||
(опиши (садр џ) (сар (сдр џ)))
|
||
(опиши (сдар џ) (сдр (сар џ)))
|
||
(опиши (сддр џ) (сдр (сдр џ)))
|
||
(опиши (сааар џ) (сар (сар (сар џ))))
|
||
(опиши (саадр џ) (сар (сар (сдр џ))))
|
||
(опиши (садар џ) (сар (сдр (сар џ))))
|
||
(опиши (саддр џ) (сар (сдр (сдр џ))))
|
||
(опиши (сдаар џ) (сдр (сар (сар џ))))
|
||
(опиши (сдадр џ) (сдр (сар (сдр џ))))
|
||
(опиши (сддар џ) (сдр (сдр (сар џ))))
|
||
(опиши (сдддр џ) (сдр (сдр (сдр џ))))
|
||
|
||
(опиши нил ())
|
||
|
||
(опиши (новиред) (прикажи #\новиред))
|
||
|
||
(опиши (није предикат)
|
||
(ако предикат #л #и))
|
||
|
||
(опиши истинито #и) (опиши лажно #л)
|
||
|
||
(опиши (листа . арг) арг)
|
||
|
||
(опиши (дужина листа)
|
||
(опиши (дужина-пом листа акумулатор)
|
||
(ако (нил? листа)
|
||
акумулатор
|
||
(дужина-пом (сдр листа) (+ акумулатор 1))))
|
||
(ако (није (листа? листа))
|
||
(баци "Неправилан тип аргумента прослеђен функцији")
|
||
(дужина-пом листа 0)))
|
||
|
||
(опиши-складњу (и . предикати)
|
||
(ако (нил? предикати) #и
|
||
(ако (нил? (сдр предикати))
|
||
(сар предикати)
|
||
(листа 'ако (сар предикати)
|
||
(примени и (сдр предикати))
|
||
#л))))
|
||
|
||
(опиши-складњу (или . предикати)
|
||
(ако (нил? предикати) #л
|
||
(ако (нил? (сдр предикати))
|
||
(сар предикати)
|
||
(листа 'ако (није (сар предикати))
|
||
(примени или (сдр предикати))
|
||
(сар предикати)))))
|
||
|
||
(опиши-складњу (услов . клаузе)
|
||
(ако (= (дужина клаузе) 0)
|
||
(баци "Конс позван са празном листом клауза")
|
||
(ако (није (и (конс? (сар клаузе)) (листа? (сар клаузе))))
|
||
(баци "Неправилна конс клауза")
|
||
(листа 'ако (саар клаузе)
|
||
(ако (нил? (сдар клаузе))
|
||
(саар клаузе)
|
||
(листа 'примени 'почни
|
||
(листа 'навод (сдар клаузе))))
|
||
(ако (нил? (сдр клаузе))
|
||
()
|
||
(примени услов (сдр клаузе)))))))
|
||
|
||
(опиши (цеоброј? џ)
|
||
(= (именилац (нетачно->тачно џ)) 1))
|