According to the Emacs Lisp manual http://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html
A symbol whose name starts with a colon (‘:’) is called a keyword symbol. These symbols automatically act as constants, and are normally used only by comparing an unknown symbol with a few specific alternatives.
A property list (plist for short) is a list of paired elements. Each of the pairs associates a property name (usually a symbol) with a property or value.
What is the difference between:
(let ((my-plist '(bar t foo 4))) (plist-get my-plist 'foo))
(let ((my-plist '(bar t :foo 4))) (plist-get my-plist :foo))
and which one is preferred?