Thread View: pl.comp.lang.funkcyjne
4 messages
4 total messages
Started by Jan Szumiec
Wed, 22 Dec 2004 11:24
prosty problem w Haskellu
Author: Jan Szumiec
Date: Wed, 22 Dec 2004 11:24
Date: Wed, 22 Dec 2004 11:24
23 lines
1373 bytes
1373 bytes
Cześć, Zacząłęm właśnie bawić się z Haskellem. Mam mały problem z definicją funkcji. Wiem, że musi być trywialny, bo siedzę nad nim od dwóch godzin. Mam funkcję: factorize n m | n == m = [n] | (mod m n) == 0 = n : (factorize n (floor(m/n))) | (mod m n) /= 0 = factorize (n+1) m Gdy uruchomię ją: Main> factorize 2 45 dostaję coś takiego: ERROR - Unresolved overloading *** Type : (RealFrac a, Integral a) => [a] *** Expression : factorize 2 45 Domyślam się, że chodzi o to, że wyjściem z "/" jest liczba niecałkowita, a takiej z kolei może nie akceptować mod.
Re: prosty problem w Haskellu
Author: Marcin 'Qrczak' Kowalczyk
Date: Wed, 22 Dec 2004 15:32
Date: Wed, 22 Dec 2004 15:32
16 lines
1643 bytes
1643 bytes
Jan Szumiec <jps@odpisz-na-grupe.com> writes:
> Domyślam się, że chodzi o to, że wyjściem z "/" jest liczba
> niecałkowita, a takiej z kolei może nie akceptować mod.
Argumentami i wynikiem / jest jakiś typ niecałkowity (tak się składa,
że musi to być ten sam typ), a wynikiem floor jest jakiś typ całkowity
i jedno nie pogodzi się z drugim.
Zamiast floor (m/n) napisz m `div` n. Daje to całkowitą część dzielenia
dwóch liczb całkowitych.
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
Re: prosty problem w Haskellu
Author: Jan Szumiec
Date: Wed, 22 Dec 2004 17:32
Date: Wed, 22 Dec 2004 17:32
23 lines
1606 bytes
1606 bytes
Marcin 'Qrczak' Kowalczyk wrote: > Jan Szumiec <jps@odpisz-na-grupe.com> writes: > > >>Domyślam się, że chodzi o to, że wyjściem z "/" jest liczba >>niecałkowita, a takiej z kolei może nie akceptować mod. > > > Argumentami i wynikiem / jest jakiś typ niecałkowity (tak się składa, > że musi to być ten sam typ), a wynikiem floor jest jakiś typ całkowity > i jedno nie pogodzi się z drugim. > > Zamiast floor (m/n) napisz m `div` n. Daje to całkowitą część dzielenia > dwóch liczb całkowitych. > Działa ! Co dają odwrotne cydzysłowy? Bez nich nie działa. BTW, Jaki interpreter możecie polecić pod Windows? Używam Hugs i zastanawiam się czy jest coś lepszego. Dzięki i pozdrawiam, jps
Re: prosty problem w Haskellu
Author: Marcin 'Qrczak' Kowalczyk
Date: Wed, 22 Dec 2004 18:04
Date: Wed, 22 Dec 2004 18:04
18 lines
1652 bytes
1652 bytes
Jan Szumiec <jps@odpisz-na-grupe.com> writes:
> Działa ! Co dają odwrotne cydzysłowy? Bez nich nie działa.
http://www.haskell.org/onlinereport/exps.html
> BTW, Jaki interpreter możecie polecić pod Windows? Używam Hugs
> i zastanawiam się czy jest coś lepszego.
Nie używam Windows.
Jest GHC (z ghci jako interaktywnym interpreterem): cięższy, ale
potężniejszy. http://haskell.org/ghc/
--
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads