// guess the programming language of the day

$ whois common-lisp

Common Lisp

first released in 1984 · by Scott Fahlman, Richard P. Gabriel, David A. Moon, Kent Pitman, Guy Steele, Dan Weinreb

$ guessprog --inspect common-lisp

year
1984
paradigm
multi paradigm
family
lisp
memory
automatic gc
binding
dynamic
safety
strong

COMMON-LISP(7)

AUTHORS
Scott Fahlman, Richard P. Gabriel, David A. Moon, Kent Pitman, Guy Steele, Dan Weinreb
HISTORY
By the early 1980s Lisp had split into many incompatible dialects descended from MacLisp, and in 1981 a group of Lisp implementers began working on a common standard to unify them. Guy Steele's book "Common Lisp the Language", published in 1984, described the result. The language was later standardised by ANSI in 1994, including CLOS, its powerful object system with multiple dispatch. Its macro system lets programmers extend the language with new syntax, a feature Lisp fans still consider unmatched.
USAGE
A niche language with a dedicated community, mostly using the open-source SBCL implementation. It has been used for airline fare search at ITA Software, AI research, symbolic computation and long-running server applications.
SEE ALSO
Common Lisp on Wikipedia ↗
$ cat shapes.lisp
(defclass circle () ((r :initarg :r)))
(defclass square () ((side :initarg :side)))

(defgeneric area (shape))
(defmethod area ((c circle)) (* pi (expt (slot-value c 'r) 2)))
(defmethod area ((s square)) (expt (slot-value s 'side) 2))

(loop for s in (list (make-instance 'circle :r 1)
                     (make-instance 'square :side 2))
      sum (area s) into total
      finally (format t "Total area: ~,2F~%" total))