Is there any way by which I can define functions my_list, my_cons, my_append which perform similar function as list, cons and append respectively?
Otherwise where can I find the implementation of these functions?
Thanks
For my_list and my_append, the solutions are:
(defun my_list (&rest arguments)
`(,@arguments)
)
(defun my_append (a_list an_item)
`(,@a_list ,an_item)
)
(my_append (my_list 'a 'b 'c) 'd)
I'm probably wrong but I dont know any alternative method to make pairs, so an alternative to cons do not seems possible. Still, I'm quite new to the LISP world.
& and @? & is reference?cons? Any similar approach?If you want your lists to be the same as the onces native to your application, You have to start with some primitive to construct a cons, probably cons or dotted-pair, and something to pull a cons cell apart (car, cadr). The others can be build from that.
If you want to re-implement things that are functionally (pun intended) equivalent, see http://en.wikipedia.org/wiki/Cons#Not_technically_fundamental
scheme implementation. I think common-lisp implementations would be different.cons can be implemented without using list and append? I think the implementations would be tougher.(defun <name> (<args>) ... instead of (define (<name> <args>) ..., and you would have to (funcall z ... instead of (z ...