Tassilo, Jeroen, I used gen-class because Chas Emerick's type selection flowchart (https://github.com/cemerick/clojure-type-selection-flowchart) indicated that it was needed in order to allow named classes and interface implementations, and that's what I thought I needed. However, perhaps that's not necessary at this stage. I'll see what can be done with deftype, defrecord, and/or defprotocol.
Tassilo, I don't call step() directly. It's called automatically by a scheduler object in SimState, which is the superclass of Students. So step() has to be visible to Java. I think I have to use gen-class for the Student class in order to allow the Students (i.e. SimState) class to find the step method. But as I said, I'm going to see if I can make do with deftype, defrecord, etc. Emerick's flowchart is not 100% complete--there are just too many cases. I'll explore your other suggestions, too. (I only added type hints when they made a difference to speed. For each new type hint, I checked whether it made a difference, and took out the ones that didn't.) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.