Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype WindowsString = WindowsString {}
- pattern WS :: ShortByteString -> WindowsString
- unWS :: WindowsString -> ShortByteString
- newtype PosixString = PosixString {}
- unPS :: PosixString -> ShortByteString
- pattern PS :: ShortByteString -> PosixString
- type PlatformString = PosixString
- newtype WindowsChar = WindowsChar {}
- unWW :: WindowsChar -> Word16
- pattern WW :: Word16 -> WindowsChar
- newtype PosixChar = PosixChar {}
- unPW :: PosixChar -> Word8
- pattern PW :: Word8 -> PosixChar
- type PlatformChar = PosixChar
- newtype OsString = OsString {}
- newtype OsChar = OsChar {}
- coercionToPlatformTypes :: Either (Coercion OsChar WindowsChar, Coercion OsString WindowsString) (Coercion OsChar PosixChar, Coercion OsString PosixString)
Documentation
newtype WindowsString Source #
Commonly used windows string as wide character bytes.
Instances
pattern WS :: ShortByteString -> WindowsString Source #
Just a short bidirectional synonym for WindowsString
constructor.
unWS :: WindowsString -> ShortByteString Source #
newtype PosixString Source #
Commonly used Posix string as uninterpreted char[]
array.
Instances
NFData PosixString Source # | |||||
Defined in System.OsString.Internal.Types rnf :: PosixString -> () Source # | |||||
Monoid PosixString Source # | |||||
Defined in System.OsString.Internal.Types mempty :: PosixString # mappend :: PosixString -> PosixString -> PosixString # mconcat :: [PosixString] -> PosixString # | |||||
Semigroup PosixString Source # | |||||
Defined in System.OsString.Internal.Types (<>) :: PosixString -> PosixString -> PosixString # sconcat :: NonEmpty PosixString -> PosixString # stimes :: Integral b => b -> PosixString -> PosixString # | |||||
Generic PosixString Source # | |||||
Defined in System.OsString.Internal.Types
from :: PosixString -> Rep PosixString x # to :: Rep PosixString x -> PosixString # | |||||
Show PosixString Source # | Prints the raw bytes without decoding. | ||||
Defined in System.OsString.Internal.Types showsPrec :: Int -> PosixString -> ShowS # show :: PosixString -> String # showList :: [PosixString] -> ShowS # | |||||
Eq PosixString Source # | |||||
Defined in System.OsString.Internal.Types (==) :: PosixString -> PosixString -> Bool # (/=) :: PosixString -> PosixString -> Bool # | |||||
Ord PosixString Source # | |||||
Defined in System.OsString.Internal.Types compare :: PosixString -> PosixString -> Ordering # (<) :: PosixString -> PosixString -> Bool # (<=) :: PosixString -> PosixString -> Bool # (>) :: PosixString -> PosixString -> Bool # (>=) :: PosixString -> PosixString -> Bool # max :: PosixString -> PosixString -> PosixString # min :: PosixString -> PosixString -> PosixString # | |||||
Lift PosixString Source # | |||||
Defined in System.OsString.Internal.Types lift :: Quote m => PosixString -> m Exp # liftTyped :: forall (m :: Type -> Type). Quote m => PosixString -> Code m PosixString # | |||||
type Rep PosixString Source # | |||||
Defined in System.OsString.Internal.Types type Rep PosixString = D1 ('MetaData "PosixString" "System.OsString.Internal.Types" "os-string-2.0.4-inplace" 'True) (C1 ('MetaCons "PosixString" 'PrefixI 'True) (S1 ('MetaSel ('Just "getPosixString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ShortByteString))) |
unPS :: PosixString -> ShortByteString Source #
pattern PS :: ShortByteString -> PosixString Source #
Just a short bidirectional synonym for PosixString
constructor.
type PlatformString = PosixString Source #
newtype WindowsChar Source #
Instances
NFData WindowsChar Source # | |||||
Defined in System.OsString.Internal.Types rnf :: WindowsChar -> () Source # | |||||
Generic WindowsChar Source # | |||||
Defined in System.OsString.Internal.Types
from :: WindowsChar -> Rep WindowsChar x # to :: Rep WindowsChar x -> WindowsChar # | |||||
Show WindowsChar Source # | |||||
Defined in System.OsString.Internal.Types showsPrec :: Int -> WindowsChar -> ShowS # show :: WindowsChar -> String # showList :: [WindowsChar] -> ShowS # | |||||
Eq WindowsChar Source # | |||||
Defined in System.OsString.Internal.Types (==) :: WindowsChar -> WindowsChar -> Bool # (/=) :: WindowsChar -> WindowsChar -> Bool # | |||||
Ord WindowsChar Source # | |||||
Defined in System.OsString.Internal.Types compare :: WindowsChar -> WindowsChar -> Ordering # (<) :: WindowsChar -> WindowsChar -> Bool # (<=) :: WindowsChar -> WindowsChar -> Bool # (>) :: WindowsChar -> WindowsChar -> Bool # (>=) :: WindowsChar -> WindowsChar -> Bool # max :: WindowsChar -> WindowsChar -> WindowsChar # min :: WindowsChar -> WindowsChar -> WindowsChar # | |||||
type Rep WindowsChar Source # | |||||
Defined in System.OsString.Internal.Types type Rep WindowsChar = D1 ('MetaData "WindowsChar" "System.OsString.Internal.Types" "os-string-2.0.4-inplace" 'True) (C1 ('MetaCons "WindowsChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "getWindowsChar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))) |
unWW :: WindowsChar -> Word16 Source #
pattern WW :: Word16 -> WindowsChar Source #
Just a short bidirectional synonym for WindowsChar
constructor.
Instances
NFData PosixChar Source # | |||||
Defined in System.OsString.Internal.Types | |||||
Generic PosixChar Source # | |||||
Defined in System.OsString.Internal.Types
| |||||
Show PosixChar Source # | |||||
Eq PosixChar Source # | |||||
Ord PosixChar Source # | |||||
Defined in System.OsString.Internal.Types | |||||
type Rep PosixChar Source # | |||||
Defined in System.OsString.Internal.Types |
pattern PW :: Word8 -> PosixChar Source #
Just a short bidirectional synonym for PosixChar
constructor.
type PlatformChar = PosixChar Source #
Newtype representing short operating system specific strings.
Internally this is either WindowsString
or PosixString
,
depending on the platform. Both use unpinned
ShortByteString
for efficiency.
The constructor is only exported via System.OsString.Internal.Types, since dealing with the internals isn't generally recommended, but supported in case you need to write platform specific code.
Instances
NFData OsString Source # | |||||
Defined in System.OsString.Internal.Types | |||||
Monoid OsString Source # | "String-Concatenation" for | ||||
Semigroup OsString Source # | |||||
Generic OsString Source # | |||||
Defined in System.OsString.Internal.Types
| |||||
Show OsString Source # | On windows, decodes as UCS-2. On unix prints the raw bytes without decoding. | ||||
Eq OsString Source # | Byte equality of the internal representation. | ||||
Ord OsString Source # | Byte ordering of the internal representation. | ||||
Defined in System.OsString.Internal.Types | |||||
Lift OsString Source # | |||||
type Rep OsString Source # | |||||
Defined in System.OsString.Internal.Types type Rep OsString = D1 ('MetaData "OsString" "System.OsString.Internal.Types" "os-string-2.0.4-inplace" 'True) (C1 ('MetaCons "OsString" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOsString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlatformString))) |
Newtype representing a code unit.
On Windows, this is restricted to two-octet codepoints Word16
,
on POSIX one-octet (Word8
).
Instances
NFData OsChar Source # | |||||
Defined in System.OsString.Internal.Types | |||||
Generic OsChar Source # | |||||
Defined in System.OsString.Internal.Types
| |||||
Show OsChar Source # | |||||
Eq OsChar Source # | Byte equality of the internal representation. | ||||
Ord OsChar Source # | Byte ordering of the internal representation. | ||||
type Rep OsChar Source # | |||||
Defined in System.OsString.Internal.Types type Rep OsChar = D1 ('MetaData "OsChar" "System.OsString.Internal.Types" "os-string-2.0.4-inplace" 'True) (C1 ('MetaCons "OsChar" 'PrefixI 'True) (S1 ('MetaSel ('Just "getOsChar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PlatformChar))) |
coercionToPlatformTypes :: Either (Coercion OsChar WindowsChar, Coercion OsString WindowsString) (Coercion OsChar PosixChar, Coercion OsString PosixString) Source #
This is a type-level evidence that OsChar
is a newtype wrapper
over WindowsChar
or PosixChar
and OsString
is a newtype wrapper
over WindowsString
or PosixString
. If you pattern match on
coercionToPlatformTypes
, GHC will know that relevant types
are coercible to each other. This helps to avoid CPP in certain scenarios.