Why Lisp? Why Common Lisp?

Lisp seems like a odd choice for a domain specific language when python dominates the AI conversation! However, lisp makes development of new languages very easy! The killer feature of lisp is its macro feature.

Why common lisp instead of Scheme? I love scheme because of its simplicity. However, the community is highly fractured and there are too few libraries in any of scheme dialects. Common lisp on the other hand is battle tested and has been used to develop many historically important AI programs [1]. Its community is unified by a standardized specification - like ISO unifies the C++ world.

Besides the biggest reason to chose common lisp is the amazing book by Peter Norvig: Paradigms of AI programming [2]. Many of the relevant algorithms for this project are chapters in this book. This allows onboarding new people to codebase very easy. For example, checkout a compiler for prolog in Chapter xx[3] of this book.

Mature community have written interop with python [4, 5] which is very relevant.

Besides lisp is great for exploratory hacking. Once the architecture is figured out may be I can move to python, who knows.