(defun mycons (p q)
(lambda (x) (funcall x p q) )
)
(defun mycar (value)
(funcall value (lambda (x y) x) )
)
(defun mycdr (value)
(funcall value (lambda (x y) y) )
)
(defun test (n)
(mycons n
(test (+ n 1) )
)
)
(setq chen (test 1) )
(mycar chen)
(mycar (mycdr chen) )
(mycar (mycdr (mycdr chen) ) )