What are you going to do about:
default public constructor?
The JAX-WS tools don't really care if javac generates a default
constructor or if Clojure does. The deftype constructor with no fields
defined is:
public com.example.FooBarService();
which -- assuming it calls super() and initializes any instance vars
-- is identical to the constructor that javac would produce.
wsgen runs without complaint once the class is declared non-final, so
I assume it's happy with what Clojure produces.
Remember that deftype is not primarily an interop feature. It's not
going to become Java-in-parens, as that doesn't add much value over
Java for the significant complexity it introduces into Clojure.
Understood.
While non-final seems small, I'm concerned that accommodating various
interop requirements (many of which are horrid) will complicate
deftype, and the lives of its users.
I would personally draw that line at "anything which can't be defined
simply in an option, or which breaks the contract between a def'ed
type and the rest of Clojure".
For example, if deftype required a finalizer to work with the Clojure
runtime, I'd give up. Similarly, if some other part of Clojure
demanded that all def'ed types must be implemented as final classes,
I'd settle for gen-class.
--
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