2018-11-20 PureScript の Data.Either にある hush
bouzuya/yzrh 。コマンドラインオプションの解釈部分をつくっている。 2018-11-17 に書いたものの続き。
短い形式のオプションに対応した。あとは……。
--foo=bar
形式- 引数が指定されていない
- 存在しないオプションが指定されている
-- foo bar
- ヘルプの表示
- (
Boolean
のオプション ) - ( サブコマンド )
- ( シェルでの補完 )
bouzuya/commander-b にある機能くらいはカバーしたいけどどうだろう。脱線している。
hush
の話。
いままで↓のようなものを何度も書いていたのだけど。
maybeFromEither :: forall a b. Either a b -> Maybe
maybeFromEither = either (const Nothing) Just
purescript/purescript-either パッケージの Data.Either
モジュールに hush :: forall a b. Either a b -> Maybe b
があった。
https://pursuit.purescript.org/packages/purescript-either/4.1.0/docs/Data.Either#v:hush
justinwoo/purescript-simple-json で知った。
readJSON_ :: forall a
. ReadForeign a
=> String
-> Maybe a
readJSON_ = hush <<< readJSON