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

Reply via email to