2020-10-07: コマンドライン引数パーサなんも分からんよな
やったこと
シャニ
今回の限定の愛依のTrueを取った。
スクショは忘れた。
しかしExフェスできる気がしねえ。
流行がVoにならないとまず無理だ。
Scala
コマンドライン引数パーサについて。
よく言われるようにFreeApplicativeに乗せるのが良い。
で、ベースのFunctorには引数の情報を持ったものを渡して、1引数毎にfoldMapでEitherに包んだFreeApplicativeに移すようにするといい。
引数が値を取ったりする場合はReaderとの積にしたりする。
で、これだと複数フラグの中から選択する、みたいなパターンに対応できないのだけど、このためにFreeAlternativeを用意するのは得策ではないと思う。
なぜならEitherはAlternativeではないので、エラーをちゃんと回収できなくなる問題がある。
あと階層のあるエラーは表示がめんどい。
実際、大体のコマンドライン引数パーサライブラリもこの辺りの処理は結構曖昧で、あんましちゃんとしてない印象がある。
というわけで、ベースのFunctorに選択の機能を持たせるという方針を考えた。
多分これで良さそう。