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. >>>> >>>> >>>> >>>> >>>
