-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A collection of facts about the real world. -- -- The Facts hierarchy is meant to contain commonly used, relatively -- static facts about the "real world". The facts are meant to be encoded -- using relatively simple Haskell constructs. However, we do make some -- promises: every data type our modules export will have instances of -- Data, Eq, Ord, Show, andTypeable. -- We will use explicit module export lists to control access to internal -- data structures. -- -- As much of the data we are encoding is tabular, we use simple -- structures like lists and maps to encode the relations. This has two -- practical ramifications: the textual representation of the data can be -- very wide, but are also very easy to edit, with "block editing" tools -- like Vi's visual block mode. The other consequence is that the naive -- approach to writing queries can be tedious, and the resulting naive -- queries are slower than they could be. Template Haskell can eliminate -- much of this drudgery. Felipe Lessa has graciously donated some -- Template Haskell code which we have adapted. -- -- The Facts.* hierarchy currently contains modules with geographical -- information, such as a data type of countries, cross references to -- various ISO-3166-1 names for each, a list of states in the United -- States, and the United States address format. Please see the module -- hierarchy for more specifics. Patches are welcomed, though prospective -- contributors are encouraged to encode data structures using lists of -- pairs to encode bijections, all exposed data types are instances of -- Data, Eq, Ord, Show, and Typeable, -- and using explicit exports to only export queries and their input and -- output types and constructors. For now, we will add facts to the -- hierarchy lazily, as our projects need them. @package Facts @version 0.1 module Facts.Geography.Location data DMS DMS :: Double -> Double -> Double -> DMS degrees :: DMS -> Double minutes :: DMS -> Double seconds :: DMS -> Double -- | Elevation from sea level. type Elevation = Length data Location Location :: Latitude -> Longitude -> Maybe Elevation -> Location latitude :: Location -> Latitude longitude :: Location -> Longitude elevation :: Location -> Maybe Elevation newtype Latitude Latitude :: (Degrees Double) -> Latitude newtype Longitude Longitude :: (Degrees Double) -> Longitude instance Typeable Location instance Typeable Longitude instance Typeable Latitude instance Typeable Length instance Typeable DMS instance Data Location instance Eq Location instance Ord Location instance Show Location instance Data Longitude instance Eq Longitude instance Ord Longitude instance Show Longitude instance Data Latitude instance Eq Latitude instance Ord Latitude instance Show Latitude instance Data Length instance Eq Length instance Ord Length instance Show Length instance Data DMS instance Eq DMS instance Ord DMS instance Show DMS module Facts.Geography.Countries.UnitedStates -- | The State data type is a list of States in the United States. data State Alabama :: State Alaska :: State Arizona :: State Arkansas :: State California :: State Colorodo :: State Connecticut :: State Delaware :: State Florida :: State Georgia :: State Hawaii :: State Idaho :: State Illinois :: State Indiana :: State Iowa :: State Kansas :: State Kentucky :: State Louisiana :: State Maine :: State Maryland :: State Massachusetts :: State Michigan :: State Minnesota :: State Mississippi :: State Missouri :: State Montana :: State Nebraska :: State Nevada :: State NewHampshire :: State NewJersey :: State NewMexico :: State NewYork :: State NorthCarolina :: State NorthDakota :: State Ohio :: State Oklahoma :: State Oregon :: State Pennsylvania :: State RhodeIsland :: State SouthCarolina :: State SouthDakota :: State Tennessee :: State Texas :: State Utah :: State Vermont :: State Virginia :: State Washington :: State WestVirginia :: State Wisconsin :: State Wyoming :: State -- | State abbreviations: data StateAbbreviation AL :: StateAbbreviation AK :: StateAbbreviation AZ :: StateAbbreviation AR :: StateAbbreviation CA :: StateAbbreviation CO :: StateAbbreviation CT :: StateAbbreviation DE :: StateAbbreviation FL :: StateAbbreviation GA :: StateAbbreviation HI :: StateAbbreviation ID :: StateAbbreviation IL :: StateAbbreviation IN :: StateAbbreviation IA :: StateAbbreviation KS :: StateAbbreviation KY :: StateAbbreviation LA :: StateAbbreviation ME :: StateAbbreviation MD :: StateAbbreviation MA :: StateAbbreviation MI :: StateAbbreviation MN :: StateAbbreviation MS :: StateAbbreviation MO :: StateAbbreviation MT :: StateAbbreviation NE :: StateAbbreviation NV :: StateAbbreviation NH :: StateAbbreviation NJ :: StateAbbreviation NM :: StateAbbreviation NY :: StateAbbreviation NC :: StateAbbreviation ND :: StateAbbreviation OH :: StateAbbreviation OK :: StateAbbreviation OR :: StateAbbreviation PA :: StateAbbreviation RI :: StateAbbreviation SC :: StateAbbreviation SD :: StateAbbreviation TN :: StateAbbreviation TX :: StateAbbreviation UT :: StateAbbreviation VT :: StateAbbreviation VA :: StateAbbreviation WA :: StateAbbreviation WV :: StateAbbreviation WI :: StateAbbreviation WY :: StateAbbreviation type StateCode = StateAbbreviation -- | Other US Entities, such as protectorates, districts, and others: data OtherUSEntity AmericanSamoa :: OtherUSEntity Guam :: OtherUSEntity NorthernMarianaIslands :: OtherUSEntity PuertoRico :: OtherUSEntity USVirginIslands :: OtherUSEntity DistrictOfColumbia :: OtherUSEntity state_by_state_code :: StateAbbreviation -> State state_code_by_state :: State -> StateAbbreviation instance Arbitrary StateCode instance Arbitrary State instance Show State module Facts.Geography.Countries.UnitedStates.ZipCode type Digit = DecimalDigit data ZipCode ZipCode :: (Digit, Digit, Digit, Digit, Digit) -> Maybe (Digit, Digit, Digit, Digit) -> ZipCode zip_code :: ZipCode -> (Digit, Digit, Digit, Digit, Digit) plus4 :: ZipCode -> Maybe (Digit, Digit, Digit, Digit) instance Typeable ZipCode instance Data ZipCode instance Eq ZipCode instance Ord ZipCode instance Show ZipCode module Facts.Geography.Countries.UnitedStates.Address data Recipient Recipient :: String -> Maybe String -> Recipient recipient_name :: Recipient -> String recipient_firm :: Recipient -> Maybe String data Address Address :: Recipient -> String -> Maybe String -> String -> Either StateCode OtherUSEntity -> ZipCode -> Address recipient :: Address -> Recipient street_address :: Address -> String street_address2 :: Address -> Maybe String city :: Address -> String state :: Address -> Either StateCode OtherUSEntity zip_code :: Address -> ZipCode instance Typeable Address instance Typeable Recipient instance Data Address instance Eq Address instance Show Address instance Ord Address instance Data Recipient instance Eq Recipient instance Ord Recipient instance Show Recipient module Facts.Geography.Countries -- | The type of "countries" includes sovereign nations and other "areas of -- geographical interest", as defined by the United Nations, whose -- definition was adopted by ISO. data Country Afghanistan :: Country AlandIslands :: Country Albania :: Country Algeria :: Country AmericanSamoa :: Country Andorra :: Country Angola :: Country Anguilla :: Country Antarctica :: Country AntiguaAndBarbuda :: Country Argentina :: Country Armenia :: Country Aruba :: Country Australia :: Country Austria :: Country Azerbaijan :: Country Bahamas :: Country Bahrain :: Country Bangladesh :: Country Barbados :: Country Belarus :: Country Belgium :: Country Belize :: Country Benin :: Country Bermuda :: Country Bhutan :: Country Bolivia :: Country BosniaAndHerzegovina :: Country Botswana :: Country BouvetIsland :: Country Brazil :: Country BritishIndianOceanTerritory :: Country BruneiDarussalam :: Country Bulgaria :: Country BurkinaFaso :: Country Burundi :: Country Cambodia :: Country Cameroon :: Country Canada :: Country CapeVerde :: Country CaymanIslands :: Country CentralAfricanRepublic :: Country Chad :: Country Chile :: Country China :: Country ChristmasIsland :: Country CocosKeelingIslands :: Country Colombia :: Country Comoros :: Country Congo :: Country DemocraticRepublicOfCongo :: Country CookIslands :: Country CostaRica :: Country CoteDIvoire :: Country Croatia :: Country Cuba :: Country Cyprus :: Country CzechRepublic :: Country Denmark :: Country Djibouti :: Country Dominica :: Country DominicanRepublic :: Country Ecuador :: Country Egypt :: Country ElSalvador :: Country EquatorialGuinea :: Country Eritrea :: Country Estonia :: Country Ethiopia :: Country FalklandIslands :: Country FaroeIslands :: Country Fiji :: Country Finland :: Country France :: Country FrenchGuiana :: Country FrenchPolynesia :: Country FrenchSouthernTerritories :: Country Gabon :: Country Gambia :: Country Georgia :: Country Germany :: Country Ghana :: Country Gibraltar :: Country Greece :: Country Greenland :: Country Grenada :: Country Guadeloupe :: Country Guam :: Country Guatemala :: Country Guernsey :: Country Guinea :: Country GuineaBissau :: Country Guyana :: Country Haiti :: Country HeardIslandAndMcDonaldIslands :: Country HolySee :: Country Honduras :: Country HongKong :: Country Hungary :: Country Iceland :: Country India :: Country Indonesia :: Country Iran :: Country Iraq :: Country Ireland :: Country IsleOfMan :: Country Israel :: Country Italy :: Country Jamaica :: Country Japan :: Country Jersey :: Country Jordan :: Country Kazakhstan :: Country Kenya :: Country Kiribati :: Country NorthKorea :: Country SouthKorea :: Country Kuwait :: Country Kyrgyzstan :: Country Laos :: Country Latvia :: Country Lebanon :: Country Lesotho :: Country Liberia :: Country Libya :: Country Liechtenstein :: Country Lithuania :: Country Luxembourg :: Country Macao :: Country Macedonia :: Country Madagascar :: Country Malawi :: Country Malaysia :: Country Maldives :: Country Mali :: Country Malta :: Country MarshallIslands :: Country Martinique :: Country Mauritania :: Country Mauritius :: Country Mayotte :: Country Mexico :: Country Micronesia :: Country Moldova :: Country Monaco :: Country Mongolia :: Country Montenegro :: Country Montserrat :: Country Morocco :: Country Mozambique :: Country Myanmar :: Country Namibia :: Country Nauru :: Country Nepal :: Country Netherlands :: Country NetherlandsAntilles :: Country NewCaledonia :: Country NewZealand :: Country Nicaragua :: Country Niger :: Country Nigeria :: Country Niue :: Country NorfolkIsland :: Country NorthernMarianaIslands :: Country Norway :: Country Oman :: Country Pakistan :: Country Palau :: Country Palestinine :: Country Panama :: Country PapuaNewGuinea :: Country Paraguay :: Country Peru :: Country Philippines :: Country Pitcairn :: Country Poland :: Country Portugal :: Country PuertoRico :: Country Qatar :: Country Reunion :: Country Romania :: Country RussianFederation :: Country Rwanda :: Country SaintBarthelemy :: Country SaintHelenaAscensionAndTristanDaCunha :: Country SaintKittsAndNevis :: Country SaintLucia :: Country SaintMartin :: Country SaintPierreAndMiquelon :: Country SaintVincentAndTheGrenadines :: Country Samoa :: Country SanMarino :: Country SaoTomeAndPrincipe :: Country SaudiArabia :: Country Senegal :: Country Serbia :: Country Seychelles :: Country SierraLeone :: Country Singapore :: Country Slovakia :: Country Slovenia :: Country SolomonIslands :: Country Somalia :: Country SouthAfrica :: Country SouthGeorgiaAndtheSouthSandwichIslands :: Country Spain :: Country SriLanka :: Country Sudan :: Country Suriname :: Country SvalbardAndJanMayen :: Country Swaziland :: Country Sweden :: Country Switzerland :: Country Syria :: Country Taiwan :: Country Tajikistan :: Country Tanzania :: Country Thailand :: Country TimorLeste :: Country Togo :: Country Tokelau :: Country Tonga :: Country TrinidadAndTobago :: Country Tunisia :: Country Turkey :: Country Turkmenistan :: Country TurksAndCaicosIslands :: Country Tuvalu :: Country Uganda :: Country Ukraine :: Country UnitedArabEmirates :: Country UnitedKingdom :: Country UnitedStates :: Country UnitedStatesMinorOutlyingIslands :: Country Uruguay :: Country Uzbekistan :: Country Vanuatu :: Country Venezuela :: Country VietNam :: Country BritishVirginIslands :: Country USVirginIslands :: Country WallisAndFutuna :: Country WesternSahara :: Country Yemen :: Country Zambia :: Country Zimbabwe :: Country data ISOAlpha2Code AF :: ISOAlpha2Code AX :: ISOAlpha2Code AL :: ISOAlpha2Code DZ :: ISOAlpha2Code AS :: ISOAlpha2Code AD :: ISOAlpha2Code AO :: ISOAlpha2Code AI :: ISOAlpha2Code AQ :: ISOAlpha2Code AG :: ISOAlpha2Code AR :: ISOAlpha2Code AM :: ISOAlpha2Code AW :: ISOAlpha2Code AU :: ISOAlpha2Code AT :: ISOAlpha2Code AZ :: ISOAlpha2Code BS :: ISOAlpha2Code BH :: ISOAlpha2Code BD :: ISOAlpha2Code BB :: ISOAlpha2Code BY :: ISOAlpha2Code BE :: ISOAlpha2Code BZ :: ISOAlpha2Code BJ :: ISOAlpha2Code BM :: ISOAlpha2Code BT :: ISOAlpha2Code BO :: ISOAlpha2Code BA :: ISOAlpha2Code BW :: ISOAlpha2Code BV :: ISOAlpha2Code BR :: ISOAlpha2Code IO :: ISOAlpha2Code BN :: ISOAlpha2Code BG :: ISOAlpha2Code BF :: ISOAlpha2Code BI :: ISOAlpha2Code KH :: ISOAlpha2Code CM :: ISOAlpha2Code CA :: ISOAlpha2Code CV :: ISOAlpha2Code KY :: ISOAlpha2Code CF :: ISOAlpha2Code TD :: ISOAlpha2Code CL :: ISOAlpha2Code CN :: ISOAlpha2Code CX :: ISOAlpha2Code CC :: ISOAlpha2Code CO :: ISOAlpha2Code KM :: ISOAlpha2Code CG :: ISOAlpha2Code CD :: ISOAlpha2Code CK :: ISOAlpha2Code CR :: ISOAlpha2Code CI :: ISOAlpha2Code HR :: ISOAlpha2Code CU :: ISOAlpha2Code CY :: ISOAlpha2Code CZ :: ISOAlpha2Code DK :: ISOAlpha2Code DJ :: ISOAlpha2Code DM :: ISOAlpha2Code DO :: ISOAlpha2Code EC :: ISOAlpha2Code EG :: ISOAlpha2Code SV :: ISOAlpha2Code GQ :: ISOAlpha2Code ER :: ISOAlpha2Code EE :: ISOAlpha2Code ET :: ISOAlpha2Code FK :: ISOAlpha2Code FO :: ISOAlpha2Code FJ :: ISOAlpha2Code FI :: ISOAlpha2Code FR :: ISOAlpha2Code GF :: ISOAlpha2Code PF :: ISOAlpha2Code TF :: ISOAlpha2Code GA :: ISOAlpha2Code GM :: ISOAlpha2Code GE :: ISOAlpha2Code DE :: ISOAlpha2Code GH :: ISOAlpha2Code GI :: ISOAlpha2Code GR :: ISOAlpha2Code GL :: ISOAlpha2Code GD :: ISOAlpha2Code GP :: ISOAlpha2Code GU :: ISOAlpha2Code GT :: ISOAlpha2Code GG :: ISOAlpha2Code GN :: ISOAlpha2Code GW :: ISOAlpha2Code GY :: ISOAlpha2Code HT :: ISOAlpha2Code HM :: ISOAlpha2Code VA :: ISOAlpha2Code HN :: ISOAlpha2Code HK :: ISOAlpha2Code HU :: ISOAlpha2Code IS :: ISOAlpha2Code IN :: ISOAlpha2Code ID :: ISOAlpha2Code IR :: ISOAlpha2Code IQ :: ISOAlpha2Code IE :: ISOAlpha2Code IM :: ISOAlpha2Code IL :: ISOAlpha2Code IT :: ISOAlpha2Code JM :: ISOAlpha2Code JP :: ISOAlpha2Code JE :: ISOAlpha2Code JO :: ISOAlpha2Code KZ :: ISOAlpha2Code KE :: ISOAlpha2Code KI :: ISOAlpha2Code KP :: ISOAlpha2Code KR :: ISOAlpha2Code KW :: ISOAlpha2Code KG :: ISOAlpha2Code LA :: ISOAlpha2Code LV :: ISOAlpha2Code LB :: ISOAlpha2Code LS :: ISOAlpha2Code LR :: ISOAlpha2Code LY :: ISOAlpha2Code LI :: ISOAlpha2Code LT :: ISOAlpha2Code LU :: ISOAlpha2Code MO :: ISOAlpha2Code MK :: ISOAlpha2Code MG :: ISOAlpha2Code MW :: ISOAlpha2Code MY :: ISOAlpha2Code MV :: ISOAlpha2Code ML :: ISOAlpha2Code MT :: ISOAlpha2Code MH :: ISOAlpha2Code MQ :: ISOAlpha2Code MR :: ISOAlpha2Code MU :: ISOAlpha2Code YT :: ISOAlpha2Code MX :: ISOAlpha2Code FM :: ISOAlpha2Code MD :: ISOAlpha2Code MC :: ISOAlpha2Code MN :: ISOAlpha2Code ME :: ISOAlpha2Code MS :: ISOAlpha2Code MA :: ISOAlpha2Code MZ :: ISOAlpha2Code MM :: ISOAlpha2Code NA :: ISOAlpha2Code NR :: ISOAlpha2Code NP :: ISOAlpha2Code NL :: ISOAlpha2Code AN :: ISOAlpha2Code NC :: ISOAlpha2Code NZ :: ISOAlpha2Code NI :: ISOAlpha2Code NE :: ISOAlpha2Code NG :: ISOAlpha2Code NU :: ISOAlpha2Code NF :: ISOAlpha2Code MP :: ISOAlpha2Code NO :: ISOAlpha2Code OM :: ISOAlpha2Code PK :: ISOAlpha2Code PW :: ISOAlpha2Code PS :: ISOAlpha2Code PA :: ISOAlpha2Code PG :: ISOAlpha2Code PY :: ISOAlpha2Code PE :: ISOAlpha2Code PH :: ISOAlpha2Code PN :: ISOAlpha2Code PL :: ISOAlpha2Code PT :: ISOAlpha2Code PR :: ISOAlpha2Code QA :: ISOAlpha2Code RE :: ISOAlpha2Code RO :: ISOAlpha2Code RU :: ISOAlpha2Code RW :: ISOAlpha2Code BL :: ISOAlpha2Code SH :: ISOAlpha2Code KN :: ISOAlpha2Code LC :: ISOAlpha2Code MF :: ISOAlpha2Code PM :: ISOAlpha2Code VC :: ISOAlpha2Code WS :: ISOAlpha2Code SM :: ISOAlpha2Code ST :: ISOAlpha2Code SA :: ISOAlpha2Code SN :: ISOAlpha2Code RS :: ISOAlpha2Code SC :: ISOAlpha2Code SL :: ISOAlpha2Code SG :: ISOAlpha2Code SK :: ISOAlpha2Code SI :: ISOAlpha2Code SB :: ISOAlpha2Code SO :: ISOAlpha2Code ZA :: ISOAlpha2Code GS :: ISOAlpha2Code ES :: ISOAlpha2Code LK :: ISOAlpha2Code SD :: ISOAlpha2Code SR :: ISOAlpha2Code SJ :: ISOAlpha2Code SZ :: ISOAlpha2Code SE :: ISOAlpha2Code CH :: ISOAlpha2Code SY :: ISOAlpha2Code TW :: ISOAlpha2Code TJ :: ISOAlpha2Code TZ :: ISOAlpha2Code TH :: ISOAlpha2Code TL :: ISOAlpha2Code TG :: ISOAlpha2Code TK :: ISOAlpha2Code TO :: ISOAlpha2Code TT :: ISOAlpha2Code TN :: ISOAlpha2Code TR :: ISOAlpha2Code TM :: ISOAlpha2Code TC :: ISOAlpha2Code TV :: ISOAlpha2Code UG :: ISOAlpha2Code UA :: ISOAlpha2Code AE :: ISOAlpha2Code GB :: ISOAlpha2Code US :: ISOAlpha2Code UM :: ISOAlpha2Code UY :: ISOAlpha2Code UZ :: ISOAlpha2Code VU :: ISOAlpha2Code VE :: ISOAlpha2Code VN :: ISOAlpha2Code VG :: ISOAlpha2Code VI :: ISOAlpha2Code WF :: ISOAlpha2Code EH :: ISOAlpha2Code YE :: ISOAlpha2Code ZM :: ISOAlpha2Code ZW :: ISOAlpha2Code data ISOAlpha3Code AFG :: ISOAlpha3Code ALA :: ISOAlpha3Code ALB :: ISOAlpha3Code DZA :: ISOAlpha3Code ASM :: ISOAlpha3Code AND :: ISOAlpha3Code AGO :: ISOAlpha3Code AIA :: ISOAlpha3Code ATA :: ISOAlpha3Code ATG :: ISOAlpha3Code ARG :: ISOAlpha3Code ARM :: ISOAlpha3Code ABW :: ISOAlpha3Code AUS :: ISOAlpha3Code AUT :: ISOAlpha3Code AZE :: ISOAlpha3Code BHS :: ISOAlpha3Code BHR :: ISOAlpha3Code BGD :: ISOAlpha3Code BRB :: ISOAlpha3Code BLR :: ISOAlpha3Code BEL :: ISOAlpha3Code BLZ :: ISOAlpha3Code BEN :: ISOAlpha3Code BMU :: ISOAlpha3Code BTN :: ISOAlpha3Code BOL :: ISOAlpha3Code BIH :: ISOAlpha3Code BWA :: ISOAlpha3Code BVT :: ISOAlpha3Code BRA :: ISOAlpha3Code IOT :: ISOAlpha3Code BRN :: ISOAlpha3Code BGR :: ISOAlpha3Code BFA :: ISOAlpha3Code BDI :: ISOAlpha3Code KHM :: ISOAlpha3Code CMR :: ISOAlpha3Code CAN :: ISOAlpha3Code CPV :: ISOAlpha3Code CYM :: ISOAlpha3Code CAF :: ISOAlpha3Code TCD :: ISOAlpha3Code CHL :: ISOAlpha3Code CHN :: ISOAlpha3Code CXR :: ISOAlpha3Code CCK :: ISOAlpha3Code COL :: ISOAlpha3Code COM :: ISOAlpha3Code COG :: ISOAlpha3Code COD :: ISOAlpha3Code COK :: ISOAlpha3Code CRI :: ISOAlpha3Code CIV :: ISOAlpha3Code HRV :: ISOAlpha3Code CUB :: ISOAlpha3Code CYP :: ISOAlpha3Code CZE :: ISOAlpha3Code DNK :: ISOAlpha3Code DJI :: ISOAlpha3Code DMA :: ISOAlpha3Code DOM :: ISOAlpha3Code ECU :: ISOAlpha3Code EGY :: ISOAlpha3Code SLV :: ISOAlpha3Code GNQ :: ISOAlpha3Code ERI :: ISOAlpha3Code EST :: ISOAlpha3Code ETH :: ISOAlpha3Code FLK :: ISOAlpha3Code FRO :: ISOAlpha3Code FJI :: ISOAlpha3Code FIN :: ISOAlpha3Code FRA :: ISOAlpha3Code GUF :: ISOAlpha3Code PYF :: ISOAlpha3Code ATF :: ISOAlpha3Code GAB :: ISOAlpha3Code GMB :: ISOAlpha3Code GEO :: ISOAlpha3Code DEU :: ISOAlpha3Code GHA :: ISOAlpha3Code GIB :: ISOAlpha3Code GRC :: ISOAlpha3Code GRL :: ISOAlpha3Code GRD :: ISOAlpha3Code GLP :: ISOAlpha3Code GUM :: ISOAlpha3Code GTM :: ISOAlpha3Code GGY :: ISOAlpha3Code GIN :: ISOAlpha3Code GNB :: ISOAlpha3Code GUY :: ISOAlpha3Code HTI :: ISOAlpha3Code HMD :: ISOAlpha3Code VAT :: ISOAlpha3Code HND :: ISOAlpha3Code HKG :: ISOAlpha3Code HUN :: ISOAlpha3Code ISL :: ISOAlpha3Code IND :: ISOAlpha3Code IDN :: ISOAlpha3Code IRN :: ISOAlpha3Code IRQ :: ISOAlpha3Code IRL :: ISOAlpha3Code IMN :: ISOAlpha3Code ISR :: ISOAlpha3Code ITA :: ISOAlpha3Code JAM :: ISOAlpha3Code JPN :: ISOAlpha3Code JEY :: ISOAlpha3Code JOR :: ISOAlpha3Code KAZ :: ISOAlpha3Code KEN :: ISOAlpha3Code KIR :: ISOAlpha3Code PRK :: ISOAlpha3Code KOR :: ISOAlpha3Code KWT :: ISOAlpha3Code KGZ :: ISOAlpha3Code LAO :: ISOAlpha3Code LVA :: ISOAlpha3Code LBN :: ISOAlpha3Code LSO :: ISOAlpha3Code LBR :: ISOAlpha3Code LBY :: ISOAlpha3Code LIE :: ISOAlpha3Code LTU :: ISOAlpha3Code LUX :: ISOAlpha3Code MAC :: ISOAlpha3Code MKD :: ISOAlpha3Code MDG :: ISOAlpha3Code MWI :: ISOAlpha3Code MYS :: ISOAlpha3Code MDV :: ISOAlpha3Code MLI :: ISOAlpha3Code MLT :: ISOAlpha3Code MHL :: ISOAlpha3Code MTQ :: ISOAlpha3Code MRT :: ISOAlpha3Code MUS :: ISOAlpha3Code MYT :: ISOAlpha3Code MEX :: ISOAlpha3Code FSM :: ISOAlpha3Code MDA :: ISOAlpha3Code MCO :: ISOAlpha3Code MNG :: ISOAlpha3Code MNE :: ISOAlpha3Code MSR :: ISOAlpha3Code MAR :: ISOAlpha3Code MOZ :: ISOAlpha3Code MMR :: ISOAlpha3Code NAM :: ISOAlpha3Code NRU :: ISOAlpha3Code NPL :: ISOAlpha3Code NLD :: ISOAlpha3Code ANT :: ISOAlpha3Code NCL :: ISOAlpha3Code NZL :: ISOAlpha3Code NIC :: ISOAlpha3Code NER :: ISOAlpha3Code NGA :: ISOAlpha3Code NIU :: ISOAlpha3Code NFK :: ISOAlpha3Code MNP :: ISOAlpha3Code NOR :: ISOAlpha3Code OMN :: ISOAlpha3Code PAK :: ISOAlpha3Code PLW :: ISOAlpha3Code PSE :: ISOAlpha3Code PAN :: ISOAlpha3Code PNG :: ISOAlpha3Code PRY :: ISOAlpha3Code PER :: ISOAlpha3Code PHL :: ISOAlpha3Code PCN :: ISOAlpha3Code POL :: ISOAlpha3Code PRT :: ISOAlpha3Code PRI :: ISOAlpha3Code QAT :: ISOAlpha3Code REU :: ISOAlpha3Code ROU :: ISOAlpha3Code RUS :: ISOAlpha3Code RWA :: ISOAlpha3Code BLM :: ISOAlpha3Code SHN :: ISOAlpha3Code KNA :: ISOAlpha3Code LCA :: ISOAlpha3Code MAF :: ISOAlpha3Code SPM :: ISOAlpha3Code VCT :: ISOAlpha3Code WSM :: ISOAlpha3Code SMR :: ISOAlpha3Code STP :: ISOAlpha3Code SAU :: ISOAlpha3Code SEN :: ISOAlpha3Code SRB :: ISOAlpha3Code SYC :: ISOAlpha3Code SLE :: ISOAlpha3Code SGP :: ISOAlpha3Code SVK :: ISOAlpha3Code SVN :: ISOAlpha3Code SLB :: ISOAlpha3Code SOM :: ISOAlpha3Code ZAF :: ISOAlpha3Code SGS :: ISOAlpha3Code ESP :: ISOAlpha3Code LKA :: ISOAlpha3Code SDN :: ISOAlpha3Code SUR :: ISOAlpha3Code SJM :: ISOAlpha3Code SWZ :: ISOAlpha3Code SWE :: ISOAlpha3Code CHE :: ISOAlpha3Code SYR :: ISOAlpha3Code TWN :: ISOAlpha3Code TJK :: ISOAlpha3Code TZA :: ISOAlpha3Code THA :: ISOAlpha3Code TLS :: ISOAlpha3Code TGO :: ISOAlpha3Code TKL :: ISOAlpha3Code TON :: ISOAlpha3Code TTO :: ISOAlpha3Code TUN :: ISOAlpha3Code TUR :: ISOAlpha3Code TKM :: ISOAlpha3Code TCA :: ISOAlpha3Code TUV :: ISOAlpha3Code UGA :: ISOAlpha3Code UKR :: ISOAlpha3Code ARE :: ISOAlpha3Code GBR :: ISOAlpha3Code USA :: ISOAlpha3Code UMI :: ISOAlpha3Code URY :: ISOAlpha3Code UZB :: ISOAlpha3Code VUT :: ISOAlpha3Code VEN :: ISOAlpha3Code VNM :: ISOAlpha3Code VGB :: ISOAlpha3Code VIR :: ISOAlpha3Code WLF :: ISOAlpha3Code ESH :: ISOAlpha3Code YEM :: ISOAlpha3Code ZMB :: ISOAlpha3Code ZWE :: ISOAlpha3Code data ISONumericCode type UNFormalName = String type UNShortName = String -- | A smart constructor to turn Integers into -- ISONumericCodes. Note that the space of ISO-3166-1 numeric -- codes has many reserved or otherwise unused codes. This constructor -- does not verify that its input is a valid ISO-3166-1 country code, it -- merely constructs a isoNumericCode :: Integer -> ISONumericCode -- | shortEnglishCountryName maps a Country to an ISO-3166-1 "short -- name". By the international standard, these names are taken from the -- "United Nations Terminology Bulletin Country Names", and "Country and -- Region Codes for Statistical Use" of the UN Statistics Division. shortEnglishCountryName :: Country -> UNShortName -- | formalEnglishCountryName maps a Country to an ISO-3166-1 -- "formal name". By the international standard, these names are taken -- from the "United Nations Terminology Bulletin Country Names", and -- "Country and Region Codes for Statistical Use" of the UN Statistics -- Division. formalEnglishCountryName :: Country -> UNFormalName -- | Maps a Country to its ISO-3166-1 2-character code. isoAlpha2Code_for_country :: Country -> ISOAlpha2Code -- | Maps a Country to its ISO-3166-1 3-character code. isoAlpha3Code_for_country :: Country -> ISOAlpha3Code -- | Maps an ISO-3166-1 2-character code to a Country. country_for_isoAlpha2Code :: ISOAlpha2Code -> Country -- | Maps an ISO-3166-1 3-character code to a Country. country_for_isoAlpha3Code :: ISOAlpha3Code -> Country -- | Maps a Country to its ISO-3166-1 numeric code. isoNumericCode_for_country :: Country -> ISONumericCode -- | country_for_valid_isoNumericCode maps a valid -- ISONumericCode to a Country. Unfortunately, this is a -- partial function. Use country_for_isoNumericCode instead, -- unless you can guarantee that the ISONumericCode supplied to -- the query is valid. country_for_valid_isoNumericCode :: ISONumericCode -> Country -- | The ISO Numeric Code space is not fully packed. Many codes are -- "reserved" or otherwise unused. country_for_isoNumericCode -- takes an ISONumericCode and possibly returns a matching -- Country. country_for_isoNumericCode :: ISONumericCode -> Maybe Country instance Show ValidCode instance Arbitrary ValidCode instance Arbitrary Country instance Show Country module Facts.Geography.Continents data Continent Africa :: Continent Antarctica :: Continent Asia :: Continent Australia :: Continent Europe :: Continent NorthAmerica :: Continent SouthAmerica :: Continent instance Typeable Continent instance Data Continent instance Eq Continent instance Ord Continent instance Show Continent