fortran-src-0.15.1: Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial).
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Fortran.Repr.Value.Scalar.Int.Idealized

Description

Idealized Fortran INTEGER values.

This module stores Fortran INTEGER values in a Haskell Integer, together with a phantom type describing the Fortran kind. This way, we can safely check for bounds issues, and leave exact behaviour up to the user.

Documentation

type family FIntMRep k = r | r -> k where ... Source #

newtype FIntI (k :: FTInt) Source #

Constructors

FIntI Integer 

Instances

Instances details
Out (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

docPrec :: Int -> FIntI k -> Doc #

doc :: FIntI k -> Doc #

docList :: [FIntI k] -> Doc #

Typeable k => Data (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FIntI k -> c (FIntI k) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (FIntI k) #

toConstr :: FIntI k -> Constr #

dataTypeOf :: FIntI k -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (FIntI k)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (FIntI k)) #

gmapT :: (forall b. Data b => b -> b) -> FIntI k -> FIntI k #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FIntI k -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FIntI k -> r #

gmapQ :: (forall d. Data d => d -> u) -> FIntI k -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FIntI k -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FIntI k -> m (FIntI k) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FIntI k -> m (FIntI k) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FIntI k -> m (FIntI k) #

Generic (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Associated Types

type Rep (FIntI k) :: Type -> Type #

Methods

from :: FIntI k -> Rep (FIntI k) x #

to :: Rep (FIntI k) x -> FIntI k #

Show (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

showsPrec :: Int -> FIntI k -> ShowS #

show :: FIntI k -> String #

showList :: [FIntI k] -> ShowS #

Binary (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

put :: FIntI k -> Put #

get :: Get (FIntI k) #

putList :: [FIntI k] -> Put #

Eq (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

(==) :: FIntI k -> FIntI k -> Bool #

(/=) :: FIntI k -> FIntI k -> Bool #

Ord (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

Methods

compare :: FIntI k -> FIntI k -> Ordering #

(<) :: FIntI k -> FIntI k -> Bool #

(<=) :: FIntI k -> FIntI k -> Bool #

(>) :: FIntI k -> FIntI k -> Bool #

(>=) :: FIntI k -> FIntI k -> Bool #

max :: FIntI k -> FIntI k -> FIntI k #

min :: FIntI k -> FIntI k -> FIntI k #

type Rep (FIntI k) Source # 
Instance details

Defined in Language.Fortran.Repr.Value.Scalar.Int.Idealized

type Rep (FIntI k) = D1 ('MetaData "FIntI" "Language.Fortran.Repr.Value.Scalar.Int.Idealized" "fortran-src-0.15.1-inplace" 'True) (C1 ('MetaCons "FIntI" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)))

fIntICheckBounds :: forall k rep. (rep ~ FIntMRep k, Bounded rep, Integral rep) => FIntI k -> Maybe String Source #

data SomeFIntI Source #

Constructors

forall fk. SomeFIntI (FIntI fk)