A programming language designed for the manipulation of nonnumeric data. The basic data structure is a list whose elements are either atomic symbols or lists. An unusual feature of Lisp is that programs are also expressed as lists, i.e. the programs and the data they manipulate have an identical structure. Pure Lisp is a functional language, having no assignment operator. The original Lisp 1.5 developed into two distinct dialects, FranzLisp and MACLisp, but these have been combined to form Common Lisp. Lisp is the language used for much artificial intelligence research.