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 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 #
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 #
unpackFoldrCStringUtf8# :: Addr# -> (Char -> a -> a) -> a -> a Source #