CL-USER> (defun Adj* ()
(one-of '(nil (append (Adj) (Adj*)))))
ADJ*
CL-USER> (defun Adj* ()
(one-of (list nil (append (Adj) (Adj*)))))
ADJ*
첫번째는 전부 eval 되지 않으므로 코드 자체가 리턴되는 잘못된 구현;
두번째는 eval 순서를 봤을 때 무한 recursion을 유발하는 잘못된 구현;
지금처럼 위가 아플까 말까 잠이 올까 말까
하는 상황에서는 잘 안 보이는 오류;




덧글