Mars0i <marsh...@logical.net> writes:

> Tassilo, thanks for being willing to look at the code.  I appreciate
> it.  There's no need to look at it to solve the
> delete/restore/recompile problem.  (If you or anyone else still want
> to look at the source for any reason, it's at
> https://github.com/mars0i/majure.  The latest version at this moment
> is in the directory *3opt8*.

Ah, yeah, the problem is that you still need to extend the existing
SimState class and thus you need gen-class.  In case SimState is a
non-abstract class and also comes with an interface ISimState, you could
probably get rid of gen-class by having a deftype which wraps a SimState
object and just delegates the ISimState methods to that.

And I think you could get rid of your gen-interface, too.  AFAICS, the
only reason you use it is that you extend some existing interface by
adding one method.  This method could also be declared by some
ExtendedSteppable protocol, and then your deftypes define impls for the
Steppable interface and the ExtendedSteppable protocol.

Not saying that this would make a big difference.  But I'd try to avoid
the gen-* functions.  IMHO, if you really need to use them (and some
Java libraries can force you to), then you could just write these
classes in plain Java.  I mean, gen-* stuff will most probably be quite
imperative, non-idiomatic Clojure code anyway, so just use Java for that
and then use these classes from Clojure.  Mixed Java/Clojure projects
are really well-supported with Leiningen, no need to screw a nail with a
screwdriver (Clojure) when you have a hammer (Java).

Bye,
Tassilo

-- 
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.

Reply via email to