On Nov 14, 8:28 am, Jonas Enlund <jonas.enl...@gmail.com> wrote: > Hi there! > > I have built a simple Matrix datatype with defprotocol and deftype. > You can take a look at it athttp://gist.github.com/234535 > (constructive criticism welcome!). Some simple examples are provided > at the end of the file. > > I have a few questions. > > - Why must i write (matrix/Matrix ...) instead of (Matrix ...) inside > the deftype body? Is this a bug? I didn't have to write it that way in > earlier versions of the new-branch.
Inside the method bodies, the type name (Matrix) now designates the class, so you can use it to call the ctor instead of the factory fn: ;change all (Matrix a b c) to (Matrix. a b c) (Matrix. 1 (count v) (into [] v)) > - Am I supposed to have all the interface implementations inside the > deftype body? Yes. > I didn't figure out how to move the implementation of > the clojure.lang.* interfaces to (extends ...). > Interface methods have nothing to do with protocol fns. They go in separate places. Rich -- 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