Actually since you are using def, I believe your method registrations are
global. You should be using binding with dynamic vars to get thread locals.
Also with mine, since I have the user specify the pluralfn symbol and since
it can be called in another namespace, the namespace of the pluralfn i
Thanks for taking an interest, Brent.
Interesting that you're using atoms rather than vars - it means that method
registration is no longer thread-local. I wonder if there could be a
scenario where method registration was actually used to coordinate between
threads? :-)
That could actually be use
I've made my own take of your plural dispatch system.
https://gist.github.com/3659663
I switched from using vars and a map for determining which pluralfn to use,
to atoms and metadata tied to the pluralfn. My method reduces the amount of
indirection and invocations. I originally tried to make a