My bad. I confused ordinary with generic. On Tue, Jan 8, 2019, 9:47 AM Eric Griffis <ded...@gmail.com wrote:
> Apologies for the backtracking, but I'm still having trouble understanding > before/after/between and ordinary function composition. For non-method > functions, what's the difference? > > Also, I'd never heard of these functions as a Perl dev. A quick search > turns up Moose. Is that what you're talking about? > > Eric > > > On Tue, Jan 8, 2019, 8:57 AM David Storrs <david.sto...@gmail.com wrote: > >> >> >> On Mon, Jan 7, 2019 at 9:58 PM Neil Van Dyke <n...@neilvandyke.org> >> wrote: >> >>> George Neuner wrote on 1/7/19 4:49 PM: >>> > Though I mostly agree with you, your "advice" does have its uses: >>> > >>> > >>> http://www.gigamonkeys.com/book/object-reorientation-generic-functions.html >>> > in particular see the sections on method combinations. >>> >>> Thank you; I should've looked it up before incorrectly assuming that you >>> were talking about "advice" from some Lisps. I initially thought the >>> original question was getting at something like `defadvice`: >>> >>> >>> https://franz.com/support/documentation/10.1/doc/operators/excl/defadvice.htm >>> >>> https://www.gnu.org/software/emacs/manual/html_node/elisp/Porting-old-advice.html >>> >>> Part of what bugs me is violation of expectations: In Racket, when I >>> see or use a procedure reference in some code, I expect to get a >>> particular procedure implementation. (Given a straightforward >>> understanding of `#lang`, `require`, scoping, and syntax extension.) If >>> that's instead documented to be a generic, then my expectations change >>> to the implementation I receive (probably) performing an analogous >>> operation. (Actually, in Racket, I'd say generics and classes are >>> usually used only when overriding is definitely happening.) >>> >> >> When I use 'advice' (a term which strikes me as an odd choice -- where >> does it come from?), it's typically because I have a commonly-used library >> function with a defined interface that isn't quite what I need. >> String-handling functions are a good example; if my data sources mean I'm >> going to be feeding either symbols or strings into something that always >> wants strings, then I can either remember to (e.g.) always wrap a (map ~a) >> around the args or I can use a 'before' and call it a day. >> >> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Racket Users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to racket-users+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Racket Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to racket-users+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.