Other comments talk about the source code. What's interesting is that if you have emacs + the source code on your machine, you can use find-function to jump to not only the lisp source of a function, but also drill down into compiled functions.
for instance, I did it for "(list" and found:
DEFUN ("list", Flist, Slist, 0, MANY, 0,
doc: /* Return a newly created list with specified arguments as elements.
Any number of arguments, even zero arguments, are allowed.
usage: (list &rest OBJECTS) */)
(ptrdiff_t nargs, Lisp_Object *args)
{
register Lisp_Object val;
val = Qnil;
...
for instance, I did it for "(list" and found: