LISP 에서는 함수의 적용이 "apply (function) over/to (list)" 이기 때문에 함수의 경우 "apply" 가 자연스러운데, cond 나 defun 은 list 에 "적용"하는게 아니라서 apply 가 좀 이상하게 들리긴 합니다. 그냥 "use" 라고 하면 될 것 같네요.
"In the following example, we use the symbol defun to define a function:
defmacro 같은 걸로 정의할걸요. 매크로하는 일이 코드를 리스트의 형태로 받아 리스트를 처리해서 코드 형태의 리스트를 만들어 내는 함수니까 결국 그것도 메타레벨이긴 하지만 함수를 리스트에 적용하는 겁니다. cond같은 경우는 리습이 eager evaluation을 하기 때문에 매크로로 정의하는 것이지, 리습이 하스켈처럼 lazy evaluation을 했다면 cond 같은 제어문은 굳이 매크로를 이용하지 않고 일반 함수로도 정의 가능했겠죠.
apply 는 이상하네요
LISP 에서는 함수의 적용이 "apply (function) over/to (list)" 이기 때문에 함수의 경우 "apply" 가 자연스러운데, cond 나 defun 은 list 에 "적용"하는게 아니라서 apply 가 좀 이상하게 들리긴 합니다. 그냥 "use" 라고 하면 될 것 같네요.
"In the following example, we use the symbol defun to define a function:
(defun ..."
cond는 매크로 함수니까 적용한다고 해도 이상한 표현은 아닙니다
defmacro 같은 걸로 정의할걸요. 매크로하는 일이 코드를 리스트의 형태로 받아 리스트를 처리해서 코드 형태의 리스트를 만들어 내는 함수니까 결국 그것도 메타레벨이긴 하지만 함수를 리스트에 적용하는 겁니다. cond같은 경우는 리습이 eager evaluation을 하기 때문에 매크로로 정의하는 것이지, 리습이 하스켈처럼 lazy evaluation을 했다면 cond 같은 제어문은 굳이 매크로를 이용하지 않고 일반 함수로도 정의 가능했겠죠.
defun도 매크로로 정의되어 있을 겁니다.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
댓글 달기