Just the opposite: it means that, at runtime, you can simply load in a file with your new defmethods and the multimethod gets updated to call through to them dynamically. That's what you see when you're working at the REPL: reloading a file (or typing in a new defmethod directly) is updating your multimethod to call the newer implementation.
On Wednesday, November 23, 2016 at 1:32:06 PM UTC-8, Erik Assum wrote: > > That would work. > > But I would like to argue that the need to require all possible namespaces > which may implement a defmethod is a bit, should I say, closed? > > This would mean that you can't build a plugin system based on multi > methods, right? > > Erik. > -- > i farta > > Den 23. nov. 2016 kl. 22.16 skrev Jonathan Fischer <jona...@mohiji.org > <javascript:>>: > > Just move your defmulti form out of the namespace that's using it, core in > this case. Like this: > > > https://github.com/mohiji/multitest/commit/229b064cea42c37173496d96a117805494c8042a > > On Wednesday, November 23, 2016 at 11:53:55 AM UTC-8, Erik Assum wrote: >> >> So, I guess my question then would be, how do I make it load without >> creating a circular dependency? >> >> Erik. >> -- >> i farta >> >> Den 23. nov. 2016 kl. 20.50 skrev Jonathan Fischer <jona...@mohiji.org>: >> >> In your minimal case: nothing ever imports multitest.other, so the >> defmethod never gets loaded. >> >> On Wednesday, November 23, 2016 at 11:31:21 AM UTC-8, Erik Assum wrote: >>> >>> Hi, >>> >>> I’ve got a defmulti defined in a namespace and it’s corresponding >>> defmethods defined in other namespaces. >>> This works fine when working in the repl, but when creating an uberjar, >>> the defmethods in the other namespaces >>> don’t seem to be found. >>> >>> I’ve created a minimal case here: >>> >>> https://github.com/slipset/multitest >>> >>> There is probably something simple I’m missing, but I cannot seem to >>> find it. >>> >>> What am I missing? >>> >>> Erik. >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> >> -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > 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+u...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > -- 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.