Lifted wrapper for ByteArray#
.
Since ByteArray#
is an unlifted type and not a member of kind Type
, things like [ByteArray#]
or IO ByteArray#
are ill-typed. To work around this inconvenience this module provides a standard lifted wrapper, inhabiting Type
. Clients are expected to use ByteArray
in higher-level APIs, but wrap and unwrap ByteArray
internally as they please and use functions from GHC.Exts.
The memory representation of a ByteArray
is:
╭─────────────┬───╮ ╭────────┬──────┬─────────╮ │ Constructor │ * ┼─►│ Header │ Size │ Payload │ ╰─────────────┴───╯ ╰────────┴──────┴─────────╯
And its overhead is the following:
ByteArray
constructor: 1 wordByteArray#
: 1 wordByteArray#
Header: 1 wordByteArray#
Size: 1 wordWhere a word is the unit of heap allocation, measuring 8 bytes on 64-bit systems, and 4 bytes on 32-bit systems.
Since: base-4.17.0.0
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4