opPow, opDollar
Stewart Gordon
smjg_1998 at yahoo.com
Sat Nov 7 18:20:01 PST 2009
Andrei Alexandrescu wrote:
> Matti Niemenmaa wrote:
>> Don wrote:
>>> Yes, ^^ hasn't been used for exponentiation before. Fortran used **
>>> because it had such a limited character set, but it's not really a
>>> natural choice; the more mathematically-oriented languages use ^.
>>> Obviously C-family languages don't have that possibility.
>>
>> Haskell has three exponentiation operators in the standard library: ^,
>> ^^, and **. They are for non-negative integral exponents, integral
>> exponents, and floating-point exponents respectively.
>
> I wonder whether that's an illustration of the power or of the failure
> of function overloading. (Seriously.)
I'm not sure either. I don't speak Haskell, but my guess is that ^ and
^^ were meant to cut out the confusion that would happen if Word32 ^
Word32 (what weird naming conventions Haskell has!) returned an integer
type but Int32 ^ Int32 returned a floating point type.
But why it needs yet another for floating-point exponents, I don't know.
Maybe Haskell supports only IFTI rather than true function overloading.
Stewart.
More information about the Digitalmars-d
mailing list