{-# LANGUAGE CPP #-} {- | Compatibility definitions for working with term and type level natural numbers across multiple GHC versions. Prior to GHC 9.2: * Term level natural numbers: @Natural :: Type@ * Type level natural numbers: @n :: Nat@ As of GHC 9.2: * Term level natural numbers: @Natural :: Type@ * Type level natural numbers: @n :: Natural@ To avoid issues, we export a 'NaturalK' kind that will refer to the correct definition for your platform. -} module Language.Fortran.Repr.Compat.Natural ( Natural, NaturalK ) where -- exports 'Natural' >= 9.2 import GHC.TypeNats #if __GLASGOW_HASKELL__ >= 902 type NaturalK = Natural #else import Numeric.Natural type NaturalK = Nat #endif