> I mean there are functions like "methods", "methodswith" for reading from > any function. And in general there are getfield, setfield functions to set, > get from a type field. Curious as to why a function to add methods to a > function in similar manner has not been provided. I'm thinking there is > something I'm missing conceptually.
Also, have you seen this: https://github.com/davidagold/MetaMerge.jl > On Friday, July 24, 2015 at 1:55:06 AM UTC+5:30, Vinuth Madinur wrote: >> >> However, is there a reason why a simpler way to extend methods isn't >> provided? While one can "read" methods from a function, lack of "write" >> support to modify / add / delete methods from a generic function makes me >> curious. >> >> >> On Friday, July 24, 2015 at 1:49:42 AM UTC+5:30, Vinuth Madinur wrote: >>> >>> Cool. Had missed the module part. So they give an accessible isolated >>> scope. >>> This should do it. >>> >>> Thanks for the help! >>> >>> >>> On Friday, July 24, 2015 at 1:43:16 AM UTC+5:30, Tom Breloff wrote: >>>> >>>> So... you want a method name globally accessible, but you don't want to >>>> put in global scope? Maybe you should use a Module instead of a let >>>> block. Your first method definition goes in the scope of "MyModule", and >>>> then later on you can add to that method definition by defining a >>>> function: >>>> "MyModule.myFunction(x::MyType) = ..." >>>> >>>> See: http://julia.readthedocs.org/en/latest/manual/modules/ >>>> >>>> On Thursday, July 23, 2015 at 4:08:45 PM UTC-4, Vinuth Madinur wrote: >>>>> >>>>> Please ignore the "anonymous function" part above. >>>>> >>>>> I'm creating a function in my macro inside a let block so that it >>>>> doesn't pollute the surrounding scope. Later on, when the same macro is >>>>> used on a different expression, I wont be able to access this same >>>>> function >>>>> to extend it inside another let block. I was looking for a way to do this. >>>>> >>>>> >>>>> >>>>> On Friday, July 24, 2015 at 1:12:36 AM UTC+5:30, Vinuth Madinur wrote: >>>>>> >>>>>> It's a little complicated scenario to explain. It's like this: >>>>>> >>>>>> I have a macro that replaces an expression with a function whose name >>>>>> isn't fixed / known / is anonymous / created inside a closured scope. >>>>>> Later >>>>>> on I want the ability to add methods to this. >>>>>> >>>>>> >>>>>> >>>>>> On Friday, July 24, 2015 at 12:57:01 AM UTC+5:30, Tom Breloff wrote: >>>>>>> >>>>>>> Can you tell us more about your end-goal? I have a feeling that >>>>>>> you're not thinking about this in a Julian way, but I'm not entirely >>>>>>> sure >>>>>>> what you want to be able to do. >>>>>>> >>>>>>> On Thu, Jul 23, 2015 at 3:21 PM, Vinuth Madinur <[email protected] >>>>>>> > wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Is there a way to add a method to a generic function during runtime? >>>>>>>> Or to merge two generic functions? For example: >>>>>>>> >>>>>>>> >>>>>>>> function abc end >>>>>>>> function xyz end >>>>>>>> >>>>>>>> function add_method(method, func) >>>>>>>> #Add method to func >>>>>>>> end >>>>>>>> >>>>>>>> add_method(xyz) do x::Int >>>>>>>> x*2 >>>>>>>> end >>>>>>>> >>>>>>>> or >>>>>>>> >>>>>>>> add_method(x -> x * 4, abc) >>>>>>>> >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Vinuth. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>
