I was thinking about continued fraction evaluation. Your 'misread' was very
informative. I appreciate the detail -- that is very helpful.
On Wednesday, October 21, 2015 at 3:50:52 PM UTC-4, Jeffrey Sarnoff wrote:
>
> good look -- thanks
>
> On Sunday, October 18, 2015 at 9:13:14 PM UTC-4, Páll Haraldsson wrote:
>>
>> On Monday, October 19, 2015 at 1:00:33 AM UTC, Páll Haraldsson wrote:
>>>
>>> On Tuesday, September 1, 2015 at 1:08:38 PM UTC, Jeffrey Sarnoff wrote:
>>>>
>>>> import Base:(+),(*),(-)
>>>>
>>>> julia> 2+3+4
>>>> 9
>>>> julia> (+){T<:Integer}(a::T,b::T,c::T) = ((a+b)+c)+1
>>>> julia> 2+3+4
>>>> 10
>>>>
>>>> julia> 2-3-4
>>>> -5
>>>> julia> (+){T<:Integer}(a::T,b::T,c::T) = ((a-b)-c)-1
>>>> julia> 2-3-4
>>>> -5
>>>>
>>>> Are (+),(*) the only ops that can be n-ary specialized?
>>>>
>>>
>>> No, it seems not.
>>>
>>
>> I misread your question for "are (+),(*) the only ops n-ary specialized
>> functions?".
>>
>> I didn't work through, why your "((a-b)-c)-1" didn't work as expected
>> (but I wander why you are doing this.., just a test, like for me, seeing
>> what is possible in Julia..?). I'm sure it has something to do with this:
>>
>> julia> edit(-, (Float64, Float64, Float64))
>>> ERROR: no method found for the specified argument types
>>> in which at ./reflection.jl:293
>>> in edit at interactiveutil.jl:58
>>>
>>
>> If this had been defined analogous to for + I guess it would have worked
>> for you. I'm sure the n-ary minus is just not needed for Julia (I'm sure
>> what I found is just for performance optimization), possibly even dangerous
>> (- is for floating point..).
>>
>> --
>> Palli.
>>
>>