I'm a little uneasy about having too many functions that apply in both the
value and type domain. I don't have anything definitively bad that I can
think of but it just makes me a little nervous that there's some big
problem that's not immediately obvious.

On Fri, Feb 27, 2015 at 3:47 PM, Jutho Haegeman <[email protected]>
wrote:

> I guess the subtle difference is that, strictly speaking, min and max of
> Floating Point types would be ±Inf.
>
> On 27 Feb 2015, at 21:46, Andreas Noack <[email protected]>
> wrote:
>
> Thats right and I realized that right after I posted. I'd be fine with
> using min and max for types but probably some would oppose that.
>
> 2015-02-27 15:42 GMT-05:00 Jutho Haegeman <[email protected]>:
>
>> I am not opposed to that but the same could be said for typemin and
>> typemax.
>>
>> Verstuurd vanaf mijn iPhone
>>
>> Op 27-feb.-2015 om 21:27 heeft Andreas Noack <
>> [email protected]> het volgende geschreven:
>>
>> I think it is fine that the type of the argument determines the behavior
>> here. Having "type" in the name would be a bit like having
>> `fabs(x::Float64)`.
>>
>> 2015-02-27 15:21 GMT-05:00 Jutho <[email protected]>:
>>
>>> But I wouldn't overload real; real is for the real value of a value, not
>>> for the real type. Maybe something like realtype , or typereal if we want
>>> to go with the other type... functions.
>>>
>>> Op vrijdag 27 februari 2015 21:18:34 UTC+1 schreef Andreas Noack:
>>>>
>>>> I'd like to have something like this.
>>>>
>>>> 2015-02-27 15:02 GMT-05:00 Jutho <[email protected]>:
>>>>
>>>> Or in this particular case, maybe their should be some functionality
>>>>> like that in Base, or at least in Base.LinAlg, where is often necessary to
>>>>> mix complex variables and real variables of the same type used to build to
>>>>> complex variables.
>>>>>
>>>>> Op donderdag 26 februari 2015 08:10:35 UTC+1 schreef Sheehan Olver:
>>>>>>
>>>>>> Maybe a better alternative is to create an internal function with the
>>>>>> same name:
>>>>>>
>>>>>>         real(v…)=Base.real(v…)
>>>>>>         real{T<:Real}(::Type{Complex{T}})=T
>>>>>>         real{T<:Real}(::Type{T})=T
>>>>>>
>>>>>> This will avoid the override leaking from the package.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> > On 26 Feb 2015, at 6:07 pm, Sheehan Olver <[email protected]>
>>>>>> wrote:
>>>>>> >
>>>>>> > I think this is a case where I know the answer but pretending I
>>>>>> don’t :)
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> >> On 26 Feb 2015, at 6:06 pm, Ivar Nesje <[email protected]> wrote:
>>>>>> >>
>>>>>> >> We have seen quite a few instances where Base functions were
>>>>>> extended with methods without restriction to non-Base types, and it 
>>>>>> caused
>>>>>> problems when Julia was updated.
>>>>>> >>
>>>>>> >> Is randomly breaking in new versions of Julia your style?
>>>>>> >
>>>>>>
>>>>>>
>>>>
>>
>
>

Reply via email to