1:45:25Josh_2Does anyone have an example of using multiple :around methods combined with call-next-method?
1:45:53Josh_2I only just realized that call-next-method when inside of an :around looks for the next most applicable :around method before executing the primary (by default) :facepalm:
2:21:23zacqueJosh_2: You can play around with it using hierarchical classes like animal, dog, poodle, cat, persian-cat
2:22:23zacqueThen define a generic function like MAKE-SOUND or PRINT-NAME for specialising it on different classes
2:24:18zacqueThe trick in understanding the `Standard Method Combination` is to understand the interplay of "shadowing" and "accumulative" effects for both primary and auxiliary methods
2:24:38Josh_2I understand primary and auxiliary methods
2:25:29Josh_2I though (call-next-method) invokes the primary method when in :around, but it doesn't, it looks for the next most applicable :around and if it doesn't find one then it calls the most applicable primary
2:28:02Bikei don't know what an example would tell you that you don't already know?
2:28:24Josh_2Just wanna see it in practice. Theory != practice
2:28:34Bikebut usually if i don't understand a method combination thing i just figure out what the form looks like based on the method combination definition
2:30:11Bikelike if your applicable methods are two arounds, two primaries, a before, and an after, what you get is (call-method #<around1> #<around2> (make-method (progn (call-method #<before>) (multiple-value-prog1 (call-method #<primary1> #<primary2>) (call-method #<after>)))))
2:31:00Bikein other words, if you use call-next-method and the next method is an around, you call that, but otherwise you call the whole before/primary/after situation
2:34:29BikeI don't think I have a nontrivial c-n-m usage on hand for you though, sorry
2:35:06Bikeif you get this system https://github.com/sellout/method-combination-utilities you can use method-combination-expand to get that tree i wrote out manually
2:35:37Bike(assuming your implementation cooperates)
11:17:28mfianoWhat is a good way to transform a string repeatedly given a list of cons of translation characters. For example given the list ((#\, . #\-) (#\; . #\:)) and the string "foo,bar;baz", it should produce "foo-bar:baz"
11:19:05semzmfiano: Is reduce + substitute too expensive due to intermediates?