RE: is s/and different inside an s/fdef?

2017-08-12 Thread scott stackelhouse
Thanks Sean, I had't realized this was the case. I was fooled by the fact that conformed values often are the same as the unconformed value. That changed in the fdef where the the arg is enclosed in a seq. My spec setup didn't work as is, but the work around (s/cat :arg ::my spec) as the

MultiFn.prefers() ignores the multimethod's internal hierarchy

2017-08-12 Thread John Alan McDonald
prefers(x,y) visits ancestors by calling parents.invoke() recursively. This visits the parents in the global hierarchy, not the multimethod's hierarchy. Is this the intended behavior? Why would that be? On the assumption that prefer-method should behave the same for a local vs the

Question about transitivity in MultiFn.prefers() --- possible bug

2017-08-12 Thread John Alan McDonald
prefers(x,y) checks the ancestors of x, and returns true if any of them are preferred to y --- which makes sense to me. However, it also check the ancestors of y, and returns true if x is preferred to any of them, which I don't understand. Is that the intended behavior? Seems like it should