GHC.CString

ghc-prim-0.11.0: GHC primitives

Copyright | (c) The University of Glasgow 2011
License | see libraries/ghc-prim/LICENSE
Maintainer | ghc-devs@haskell.org
Stability | internal
Portability | non-portable (GHC Extensions)
Safe Haskell | None
Language | Haskell2010

GHC.CString

Contents

- Ascii variants
- Utf variants
- Other

Description

GHC C strings definitions (previously in GHC.Base). Use GHC.Exts from the base package instead of importing this module directly.

Synopsis

- unpackCString# :: Addr# -> [Char]
- unpackAppendCString# :: Addr# -> [Char] -> [Char]
- unpackFoldrCString# :: Addr# -> (Char -> a -> a) -> a -> a
- cstringLength# :: Addr# -> Int#
- unpackCStringUtf8# :: Addr# -> [Char]
- unpackAppendCStringUtf8# :: Addr# -> [Char] -> [Char]
- unpackFoldrCStringUtf8# :: Addr# -> (Char -> a -> a) -> a -> a
- unpackNBytes# :: Addr# -> Int# -> [Char]

# Ascii variants

unpackCString# :: Addr# -> [Char] Source #

unpackAppendCString# :: Addr# -> [Char] -> [Char] Source #

unpackFoldrCString# :: Addr# -> (Char -> a -> a) -> a -> a Source #

cstringLength# :: Addr# -> Int# Source #

Compute the length of a NUL-terminated string. This address must refer to immutable memory. GHC includes a built-in rule for constant folding when the argument is a statically-known literal. That is, a core-to-core pass reduces the expression `cstringLength# "hello"#` to the constant `5#`.

# Utf variants

unpackCStringUtf8# :: Addr# -> [Char] Source #

unpackAppendCStringUtf8# :: Addr# -> [Char] -> [Char] Source #

unpackFoldrCStringUtf8# :: Addr# -> (Char -> a -> a) -> a -> a Source #

# Other

unpackNBytes# :: Addr# -> Int# -> [Char] Source #