{-# LANGUAGE CPP #-} #if __GLASGOW_HASKELL__ >= 701 {-# LANGUAGE Trustworthy #-} #endif
--
-- |
-- Module : System.Environment.UTF8
-- Copyright : (c) Eric Mertens 2009
-- License : BSD3-style (see LICENSE)
--
-- Maintainer: emertens@galois.com
-- Stability : experimental
-- Portability : portable
--
-- Support for UTF-8 based environment manipulation
--
module System.Environment.UTF8 (getArgs, getProgName, getEnv, withArgs, withProgName, getEnvironment) where import Codec.Binary.UTF8.String (
decodeString
) import qualified
System.Environment
as Sys
getArgs
::
IO
[
String
]
getArgs
=
map
decodeString
`fmap`
Sys.getArgs
getProgName
::
IO
String
getProgName
=
decodeString
`fmap`
Sys.getProgName
getEnv
::
String
->
IO
String
getEnv
x
=
decodeString
`fmap`
Sys.getEnv
x
withArgs
:: [
String
] ->
IO
a
->
IO
a
withArgs
=
Sys.withArgs
withProgName
::
String
->
IO
a
->
IO
a
withProgName
=
Sys.withProgName
getEnvironment
::
IO
[(
String
,
String
)]
getEnvironment
=
map
f
`fmap`
Sys.getEnvironment
where
f
(
a
,
b
) = (
decodeString
a
,
decodeString
b
)