Chcę utworzyć moduł i załadować go do biblioteki haskell. Mogę pracować z Ubuntu 11 lub Windows 7, używając narzędzi platformy haskell. To jest mój moduł:Tworzenie i instalowanie własnego modułu
module Pkr.Element(..) where
import Char
data Card = Card Int deriving (Eq)
seme :: Card -> Int
seme (Card x) = mod (div x 13) 4
label :: Card -> Int
label (Card x) = mod x 13
instance Ord Card where
(>) x y |ix == iy = False
|ix == 0 = True
|iy == 0 = False
| otherwise = (ix > iy)
where
ix = label x
iy = label y
instance Show Card where
show :: Card -> String
show card = strI(label card) : strS(seme card) :[]
where
strI x | (x == 0) = 'A'
| (x == 12) = 'K'
| (x == 11) = 'Q'
| (x == 10) = 'J'
| (x == 9) = 'T'
| otherwise = chr (49+x)
strS y | (y == 0) = 'h'
| (y == 1) = 'c'
| (y == 2) = 'd'
| (y == 3) = 's'
data Category = Null | HighCard | Copple | TwoCopple |
Tris | Straight | Flush | FullHouse |
Poker | StraightFlush deriving (Show, Eq, Ord)
type Cards = [Card]
data Rank = Rank Category Cards Cards deriving (Eq, Ord, Show)
Mam również problem z "show" w ghci, ponieważ dostaję wyjątek przepełnienia stosu.
Pokaż nam, co wpisujesz w ghci, co powoduje wyjątek przepełnienia stosu. – dave4420
Czy chcesz zainstalować ten moduł w swoim systemie, aby mógł być używany przez wiele programów [(użyj Cabal)] (http://www.haskell.org/cabal/users-guide/), czy po prostu chcesz używać go w jednym programie (wystarczy umieścić moduł w tym samym katalogu, co główny moduł programu)? – dave4420
Piszę to na ghci: >: l Pkr.Element; > Karta 4; > *** wyjątek stackoverflow (lub coś podobnego) O czym chcę: uczę się haskell i chcę używać modułów do zwiększenia modułowości kodu. Chciałbym zainstalować ten moduł w moim systemie, więc mogę ponownie użyć modułów mojego pakietu. – optimusfrenk