ByteString型
バイト列
1byteで済むので、その分Textよりメモリ効率が良い
matrix
table: ByteStringの7種類
正格 遅延
文字列 Data.ByteString.Char8 Data.ByteString.Lazy.Char8
eUTF-8 Data.ByteString.UTF8 Data.ByteString.Lazy.UTF8 上段のChar8のやつのサブセット的な メモリ効率がいい(?) Data.ByteString.Short
docsと3行
バイナリ
Strict
byte列の配列
Lazy
64kbのChunkに保存される
Chunk単位で評価される
64kbのData.ByteStrringのListのイメージ
文字列
Strict
Lazy
Strict
Lazy
メモリ効率がいい(?)
使用用途
ファイルの読み込み時
etc.
Data.ByteStringとData.ByteString.Char8とData.ByteString.UTF8は全て同じ型(Lazy版も同様)
コメント
sliceできる
ByteStringと表示されている型にも複数種類あるのね..mrsekut.icon
IDEのhintでByteStringと表示されているもの同士も、出自が違えば同じものとして扱えない
Data.ByteString.Lazy.Internalとかなんなん
普通に使う分にはいいんですが、短い文字列をたくさん作るとすぐにメモリが断片化することがよく知られています ref