Listy Haskella typów danych
To prawdopodobnie kolejne proste pytanie Haskella. Jeśli mam kilka „zagnieżdżonych” typów danych, na przykład w tym przykładzie kodu:
<code>data Place = Country | State | City String deriving Show data State = California | NewYork deriving Show data Country = USA | Canada deriving Show </code>
Mogę zgodnie z prawem utworzyć listę, taką jak [USA, Kanada] typu [Kraj] lub [Kalifornia, Nowy Jork] typu [Państwo] lub [Miasto ”a”, Miasto „b”] typu [Miejsce].
Co muszę zrobić, aby utworzyć listę, taką jak [USA, NewYork]? NewYork jest stanem, który jest miejscem, a USA jest krajem, który jest miejscem, ale ghci widzi USA, więc zakłada, że tworzę listę krajów (a NewYork jest państwem, więc lista nie działa).
Myślę, że potrzebuję jakiegoś sposobu, by rzucić Kraj lub Stan na Miejsce, ale nie mam pojęcia, jak to osiągnąć.
Staram się unikać wrzucania danych zawartych w stanie i kraju do typu miejsca, co, jak wiem, sprawi, że zadziała, ale mam przyzwoitą ilość prawdziwych danych, których wolałbym nie mieszać w ten sposób.