data Suit = Spade | Heart | Club | Diamond deriving (Eq, Ord, Enum, Show)
data Pip = Ace | Two | Three | Four | Five | Six | Seven | Eight | Nine | Ten | Jack | Queen | King deriving (Eq, Ord, Enum, Show)
data Card = Card
{suit :: Suit
,pip :: Pip
} deriving (Eq,Ord, Show)
type Deck = [Card]
data EOBoard = EOBoard
{foundations :: [Deck]
,columns :: [Deck]
,reserve :: [Deck]
} deriving (Eq, Ord, Show)
instance Enum Card where
Si tratta di una struttura di dati solitario Come posso fare Card
enumerabile, con Enum
istanze da Card{suit = Spade, pip = Ace}
, Card{suit = Spade, pip = Two}
.. Card{suit = Heart, pip = Ace}
.. Card{suit = Club, pip = Ace}
.. Card{suit = Diamond, pip = Ace} ..Card{suit = Diamond, pip = King}
.fromEnum toEnum Instance?
uso hint' (daEnum $ maxBound Ace) * (dal seme di ENum) + (dal pip diEnum) 'a ca lculate the enumeration – epsilonhalbe
@epsilonhalbe probabilmente intendete '(maxBound :: Pip)' o 'King' giusto? (per la prima è necessario 'derivante (..., limitato)' – Carsten
ya Ho sempre capito male - avrei dovuto consultare i documenti per quello – epsilonhalbe