Веб Зображення Новини Групи Блоги Перекладач Gmail Ще »
Групи, які ви переглядали нещодавно | Довідка | Увійти
Головна сторінка Груп Google
Допис з розмови Newbie question...
Група, до якої ви додаєте допис, - група Usenet. Відтак, будь-хто в Інтернеті бачитиме вашу електронну адресу.
Вашу відповідь не було надіслано.
Ваш допис надіслано
 
Від:
Кому:
Копія:
Продолжить:
Додати копію: | Додати продовження: | Редагувати тему
Тема:
Підтвердження:
З метою підтвердження введіть символи, наведені на зображенні нижче, або числа, які чуєте, натиснувши значок доступу. Прослухайте і введіть цифри, що чуєте
 
maxino  
Переглянути профіль   Перекласти вказаною мовою: Перекладено (переглянути оригінал)
 Більше налаштувань 13 Чер, 19:06
Групи новин: comp.lang.haskell
Від: maxino <max.korob...@gmail.com>
Дата: Sat, 13 Jun 2009 09:06:53 -0700 (PDT)
Місцевий час: Сб 13 Чер 2009 19:06
Тема: Re: Newbie question...
On Jun 13, 2:28 pm, "Mark T.B. Carroll" <Mark.Carr...@Aetion.com>
wrote:

> maxino <max.korob...@gmail.com> writes:

> (snip)

> > proper_divisors :: Int -> [Int]
> > proper_divisors n = [d | d <- [1 .. (floor . sqrt) n], mod n d == 0]
> (snip)
> >     No instance for (RealFrac Int)
> >       arising from a use of `floor' at pd.hs:2:37-41
> (snip)
> >     No instance for (Floating Int)
> >       arising from a use of `sqrt' at pd.hs:2:45-48

> the (floor . sqrt) can't accept an n :: Int, because they need n's type
> to be instances of Floating and RealFrac, and Int isn't.

> Prelude> :type sqrt
> sqrt :: (Floating a) => a -> a

> ... note that the return type is the same as the argument type. From a
> commonsense point of view, one can see part of the reason for the
> complaint about Int as being that for things like sqrt (2::Int) you
> couldn't return an Int answer (at least a correct one!).

> Of course,

> Prelude> :type mod
> mod :: (Integral a) => a -> a -> a

> mod expects an integral n, and you already declared n to be Int.

> How about,

> proper_divisors n = [d | d <- [1 .. (floor . sqrt . fromIntegral) n], mod n d == 0]

> By the way, though I actually much prefer your convention, upper and
> lower camel case seem to have established themselves as the Haskell way,
> so normally one would name your function properDivisors.

> Mark

Hey Mark,
Couldn't have asked for a better explanation.
Sorry for the "newbie-ness".
Grazie!
max(ino)

Ви мусите увійти перед публікацією повідомлень.
Аби надіслати допис, будь ласка, спочатку приєднайтеся до цієї групи.
Будь ласка, поновіть своє прізвисько на сторінці налаштування передплати перед тим, як надіслати свій допис.
У вас немає права надсилання дописів до цієї групи.

Створити групу - Групи Google - Домашня сторінка Google - Правила користування послугою - Заява про конфіденційність і нерозголошення інформації
©2009 Google