星にゃーんのブログ

ほとんど無害。

2021-08-29から1日間の記事一覧

Haskellのsomeを正格評価したら無限ループする話

パーサコンビネータなんかでよく使う、 some と many という関数があります。それぞれ引数を1回以上/0回以上実行して結果のリストを返す関数で、これの単純な定義は some v = (:) <$> v <*> many v many v = some v <|> pure [] となります。 some は v : …