|
|
|
# Proposal: Opaque Text
|
|
|
|
# Proposal: \<name\>
|
|
|
|
|
|
|
|
|
|
|
|
<table><tr><th> Ticket </th>
|
|
|
|
<th>[\#143](https://gitlab.haskell.org//haskell/prime/issues/143)</th></tr>
|
|
|
|
<th> \#999
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Dependencies </th>
|
|
|
|
<th> none
|
|
|
|
<th> names of other proposals on which this one depends
|
|
|
|
</th></tr>
|
|
|
|
<tr><th> Related </th>
|
|
|
|
<th> none
|
|
|
|
<th> names of related (e.g. alternative) proposals
|
|
|
|
</th></tr></table>
|
|
|
|
|
|
|
|
## Compiler support
|
|
|
|
|
|
|
|
|
|
|
|
GHC
|
|
|
|
|
|
|
|
## Summary
|
|
|
|
## Compiler support
|
|
|
|
|
|
|
|
|
|
|
|
Add the Text datatype to the language.
|
|
|
|
|
|
|
|
GHC
|
|
|
|
|
|
|
|
The text package for GHC exposes a Text datatype that represents a string.
|
|
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
|
|
The current String = \[Char\] standard has issues with
|
|
|
|
|
|
|
|
- efficiency: there are more efficient representations than linked lists
|
|
|
|
- correctness: for Unicode correctness, one must operate on a string as a whole rather than individual code points
|
|
|
|
|
|
|
|
A short summary of the extension/modification.
|
|
|
|
|
|
|
|
Promoting Text solves both of these issues.
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A complete description of the proposal.
|
|
|
|
|
|
|
|
|
|
|
|
## References
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
External references, papers, articles, support in other languages.
|
|
|
|
|
|
|
|
|
|
|
|
## Report Delta
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The changes to the report necessary to implement the proposal. Required for a proposal to move to the "accepted" state.
|
|
|
|
|
|
|
|
|