YoshikuniJujo on Nostr: ...
Stringが「文字のリスト」であることがHaskellの失敗のように言われること多いけど、たしかに初心者殺しではあるかもしれないけど、慣れてくると「あり」なように思う。
何かっていうと、リストってのは「おなじ種類のものを多数、受け渡す」というのに向いているわけで、たとえばByteStringからTextに変換したいようなとき、
byteStringToString :: ByteString -> String
stringToText :: String -> Text
みたいに書いておけば、組み合わせ爆発を避けることができる。
そして、GHCにおいてリストというものは、うまくコードを組めば「実際には一度も生成されない」という書きかたもできるので、非常に効率的だ。
Published at
2024-06-04 03:40:17Event JSON
{
"id": "e20a6e582f2afe96c6a64612b4415f9fee5f178a36783dcf490802590e43d234",
"pubkey": "ef89ee45550f7377284d31e49fc57e5732ffc2b95a7bf35d0f1291d6fa278758",
"created_at": 1717465217,
"kind": 1,
"tags": [],
"content": "Stringが「文字のリスト」であることがHaskellの失敗のように言われること多いけど、たしかに初心者殺しではあるかもしれないけど、慣れてくると「あり」なように思う。\n\n何かっていうと、リストってのは「おなじ種類のものを多数、受け渡す」というのに向いているわけで、たとえばByteStringからTextに変換したいようなとき、\n\nbyteStringToString :: ByteString -\u003e String\nstringToText :: String -\u003e Text\n\nみたいに書いておけば、組み合わせ爆発を避けることができる。\nそして、GHCにおいてリストというものは、うまくコードを組めば「実際には一度も生成されない」という書きかたもできるので、非常に効率的だ。",
"sig": "6f88fb8a2f04ece0dd1560b5998ad10f207ef9b8e753009159a96dff65aa5b8da576e8005706a1cace9306bfc7ce20c6772f6997dd093db152191e9365656af3"
}