country-0.1.6: Country data type and functions

Safe HaskellNone
LanguageHaskell2010

Country.Unsafe

Description

This module provides the data constructor for a Country. While pattern matching on a country is perfectly safe, constructing one is not. There is an invariant the type system does not capture that the country number, as defined by ISO 3166-1, is between the inclusive bounds 0 and 999. Failure to maintain this invariant can cause other functions in this library to segfault.

Synopsis

Documentation

newtype Country #

A country recognized by ISO 3166.

Constructors

Country Word16 

Instances

Bounded Country # 
Enum Country # 
Eq Country # 

Methods

(==) :: Country -> Country -> Bool #

(/=) :: Country -> Country -> Bool #

Ord Country # 
Show Country # 
Generic Country # 

Associated Types

type Rep Country :: * -> * #

Methods

from :: Country -> Rep Country x #

to :: Rep Country x -> Country #

Hashable Country # 

Methods

hashWithSalt :: Int -> Country -> Int #

hash :: Country -> Int #

ToJSON Country # 
FromJSON Country # 
Storable Country # 
NFData Country # 

Methods

rnf :: Country -> () #

Prim Country # 
type Rep Country # 
type Rep Country = D1 * (MetaData "Country" "Country.Unexposed.Names" "country-0.1.6-8XXh5kULnu04s0435b0VhP" True) (C1 * (MetaCons "Country" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * Word16)))