On Thu, Jul 23, 2015 at 4:25 PM, Vinuth Madinur
<[email protected]> wrote:
> However, is there a reason why a simpler way to extend methods isn't

f() = ... extend the method f even if f is a local variable.

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

Because extending method shouldn't be something that you usually want
to do dynamically.

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