content: {-# LANGUAGE Safe #-}
  {-# LANGUAGE CPP #-}
  
  -----------------------------------------------------------------------------
  -- |
  -- Module      :  System.Info
  -- Copyright   :  (c) The University of Glasgow 2001
  -- License     :  BSD-style (see the file libraries/base/LICENSE)
  -- 
  -- Maintainer  :  libraries@haskell.org
  -- Stability   :  experimental
  -- Portability :  portable
  --
  -- Information about the characteristics of the host 
  -- system lucky enough to run your program.
  --
  -----------------------------------------------------------------------------
  
  module System.Info
     (
         os,
         arch,
         compilerName,
         compilerVersion
     ) where
  
  import Data.Version
  
  -- | The version of 'compilerName' with which the program was compiled
  -- or is being interpreted.
  compilerVersion :: Version
  compilerVersion = Version [major, minor] []
    where (major, minor) = compilerVersionRaw `divMod` 100
  
  #include "ghcplatform.h"
  
  -- | The operating system on which the program is running.
  os :: String
  os = HOST_OS
  
  -- | The machine architecture on which the program is running.
  arch :: String
  arch = HOST_ARCH
  
  -- | The Haskell implementation with which the program was compiled
  -- or is being interpreted.
  compilerName :: String
  compilerName = "ghc"
  
  compilerVersionRaw :: Int
  compilerVersionRaw = __GLASGOW_HASKELL__
  