I want to build an evolutionary simulation based on Lisp because it has the convenient list data type.

Features wanted:

  1. Graphic user interface for when the program is running
  2. Interaction with running program (with keyboard input, etc.)

Is there a good object oriented programming language in Lisp? (Good as in: no major problems, tolerable user interface and no major modification to the language making it difficult to transfer my previous Lisp knowledge.)

Machine info.: Windows 10, 32-bit


I don't know what Lisps you're already familiar with, so I can't compare them to these suggestions, but Common Lisp and Hy both have object systems. Common Lisp has CLOS, which is based on generic functions and multiple dispatch. It is unlike the more traditional class-based approach, but also more powerful. Hy is a Lisp syntax for Python, so it has Python's fairly straightforward, but entirely dynamic, system of classes and objects, including multiple inheritance. Both have GUI libraries and built-in facilities for text input. Hy generally has a larger set of available libraries, since Python has a much larger userbase than Common Lisp.

There's also Clojure, which can run on the JVM, so it meets your requirements, although I haven't used it so I don't know much more about it.

N.B. You say that you want to use Lisp because it supports lists. Singly linked lists like Lisp cons lists are either provided by default or easy to implement in almost every programming language.

(Disclosure: I am a Hy core developer.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.