In Lisp they're pretty easy:
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
returns itself (note: written in Clisp; I've had issues with Lispworks doing things properly). You can also stuff messages in there pretty easily:
((lambda (x y) (list x (list 'quote x) y)) '(lambda (x y) (list x (list 'quote x) y)) "Hello, world")