;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defstruct (date
(:constructor make-date (day month year)))
(day 1 :type (integer 1 31))
(month 1 :type (integer 1 12))
(year 0 :type (integer 0)))
(defmethod print-object ((date date) stream)
(format stream "~d-~d-~d"
(date-year date)
(date-month date)
(date-day date)))
(print (list (make-date 12 11 2015)
(make-date 13 01 2044)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun foo (&rest args &key m x)
(print args)
(print m)
(print x))
(defun bar (m n)
(foo 'keyword:m :m m n))
(bar :x 42)
Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CgooZGVmc3RydWN0IChkYXRlCiAgICAgICAgICAgICg6Y29uc3RydWN0b3IgbWFrZS1kYXRlIChkYXkgbW9udGggeWVhcikpKQogIChkYXkgICAxIDp0eXBlIChpbnRlZ2VyIDEgMzEpKQogIChtb250aCAxIDp0eXBlIChpbnRlZ2VyIDEgMTIpKQogICh5ZWFyICAwIDp0eXBlIChpbnRlZ2VyIDApKSkKCihkZWZtZXRob2QgcHJpbnQtb2JqZWN0ICgoZGF0ZSBkYXRlKSBzdHJlYW0pCiAgKGZvcm1hdCBzdHJlYW0gIn5kLX5kLX5kIgogICAgICAgICAgKGRhdGUteWVhciBkYXRlKQogICAgICAgICAgKGRhdGUtbW9udGggZGF0ZSkKICAgICAgICAgIChkYXRlLWRheSBkYXRlKSkpCgoocHJpbnQgKGxpc3QgKG1ha2UtZGF0ZSAxMiAxMSAyMDE1KQogICAgICAgICAgICAgKG1ha2UtZGF0ZSAxMyAwMSAyMDQ0KSkpCgoKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CgooZGVmdW4gZm9vICgmcmVzdCBhcmdzICZrZXkgbSB4KQogIChwcmludCBhcmdzKQogIChwcmludCBtKQogIChwcmludCB4KSkKICAKKGRlZnVuIGJhciAobSBuKQogIChmb28gJ2tleXdvcmQ6bSA6bSBtIG4pKQoKKGJhciA6eCA0Mik=