クラスの名前とパーサーでの使用法から、そしてMaybe
私はそれが動作するのはから最初の空でない入力を選択することだと思いましたa <|> b <|> c
。だから私は入力のためにそれを期待しました
[] <|> [1] <|> [2, 3]
空でない最初のリストを返します。つまり、次のようになります。
[1]
しかし、実際にはすべてを連結して、次のように生成します。
[1,2,3]
だから私はそのような実装の背後にある理由は何ですか?それは実際に正しいですか?
PS私が期待したことを実行する標準機能はありますAlternative
か?