Может кто-нибудь сказать мне, почему Haskell Prelude определяет две отдельные функции для возведения в степень (т.е. ^ и ** )? Я думал, что система типов должна была устранить такое дублирование.
^
**
Prelude> 2^2 4 Prelude> 4**0.5 2.0