-
치환 모델 (Substitution Model)Programmer/Programming 2013. 4. 10. 17:41
예제에 사용할 함수
(defun square (x) (* x x)) (defun sum-of-squares (x y) (+ (square x) (square y))
normal-order: 전체를 확장한 후에 다시 줄여나간다.
(sum-of-squares (+ 5 1) (* 5 2))
확장한다.
(+ (square (+ 5 1)) (square (* 5 2))) (+ (* (+ 5 1) (+ 5 1)) (* (* 5 2) (* 5 2)))
줄인다.
(+ (* 6 6) (* 10 10)) (+ 36 100) 136
applicative-order: 인자를 평가하고 적용한다.
sum-of-squares의 인자를 평가하고 적용한다.
(sum-of-squares (+ 5 1) (* 5 2)) (sum-of-squares 6 10)
+의 인자를 평가하고 적용한다.
(+ (square 6) (square 10)) (+ 36 100) 136
'Programmer > Programming' 카테고리의 다른 글
현상을 분석하여 문제의 원인을 찾아내라 (1) 2013.11.12 간결하고 효율적인 프로그래밍 (1) 2013.07.22 strspn/strcspn (0) 2013.07.09 DEFPARAMETER와 DEFVAR의 차이 (0) 2013.01.17 LISP : 플레이어와 상호 작용하는 텍스트 게임 엔진 만들기 (0) 2013.01.14 댓글