Hi Marek! I would def a protocol CustomArithmetics and include the the nescessary methods for arithmetics, and then a deftype for each custom arithmetics. It would be possible to extend the protocol for Longs and Integers as well, if needed.
If you would like to use the normal operator-names +,- etc then make sure that exclude those in the ns-declaration where I would use refer :exclude ... and then redefine them as above. Oh sorry for the handwaving, but maybe this at least could get you in the right direction. /Linus Den 21 dec 2011 06:56 skrev "Marek Kubica" <ma...@xivilization.net>: > Hi, > > I am idly thinging on how to create types with special restraints on > them, like being only in the range 1-1000 or only even numbers etc and > all normal operations like + and - still being valid. > > Anyone has an idea how to implement that? In Python I'd subclass the > number type and implement all oparators, but how would one do this in > Clojure? > > regards, > Marek > > -- > 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 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