動作 LaTeXのkey-value方式のオプション引数をイメージ LaTeXでの例: \scsnowman \scsnowmanscsnowman[adjustbaseline,scale=1] \includegraphics[width=100mm]{hoge.jpg} 何も指定しないと、デフォルト値が適用 コマンドごとに値はリセット(他の場所で適用した値は引き継がれない) 順不同で複数個のキーを設定可能
コメント遅くなってすいません。
方法1
ちょうど今日レコードの with 構文が入ったので、これを使う方法があります。
gfngfn/SATySFi#111
レコードのオプショナルなフィールドが導入されれば、もっと軽い構文で書けるようになるはずです。
https://twitter.com/bd_gfngfn/status/1058655522415509504
方法2
元々の実装のように (key, value) pair をリストとして渡すのであれば、型コンストラクタを公開するのが簡便そうです。名前空間を汚さないためにモジュールで囲って、ユーザーにはモジュールの local open をしてもらって使うのが良さそうに思います。
gfngfn/SATySFi#80
この際 mutable を使う必要はありません。デフォルトの値たちを初期状態として持っておいて、fold しながら更新していけば良いです。