21:21:17 @kb10uy@mstdn.maud.io
icon

そこはかとなく後者っぽい気がするぞ

21:21:08 @kb10uy@mstdn.maud.io
icon

別のシェルとかから起動したらいけるのかそれともこれではどうあがいても動かないのか

21:19:52 @kb10uy@mstdn.maud.io
icon

LarkBox で前にビルドした UEFI でシェルギャス描くやつ起動したら落ちちゃったから UEFI ファームに実装されてないんだろうなこれ

20:47:13 @kb10uy@mstdn.maud.io
icon

通電して満足したので一旦箱にしまった

19:29:18 @kb10uy@mstdn.maud.io
icon

Oratrice Mecanique d’Analyse Cardinale...

17:49:39 @kb10uy@mstdn.maud.io
icon

(ところで winnow という名前見て一瞬 Windows 関係のライブラリかと思ってしまった)

17:47:29 @kb10uy@mstdn.maud.io
2023-11-22 17:47:08 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

で、根の側のパーサ (user 側) が Err(ErrMode::Backtrack(e)) を受け取って別候補を試すのが “正常” なら、そのときはそういうコンビネータ (alt() とか) を使うなり match を書くなりしろ、という感じ。

17:47:25 @kb10uy@mstdn.maud.io
2023-11-22 17:45:30 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

winnow の Result の分類は「(一番枝の部分のコードで) 続行するか離脱するか」で徹底している。 incomplete が正常系かどうかとかいう意味を考えるのではなく、「入力が足りないなら続行できないから (正常な挙動かどうかに関係なく) 脱出しやすくする」という感じ

17:47:10 @kb10uy@mstdn.maud.io
icon

今めっちゃ SKK-JISYO.kb10uy のこと思い出してる

17:44:50 @kb10uy@mstdn.maud.io
icon

syntax error 系は分離できそうだな

17:43:43 @kb10uy@mstdn.maud.io
icon

でも winnow のそれを見るにやっぱりエラー系は enum に押し込んで Result をかぶせたほうがいいのかしら?

17:41:17 @kb10uy@mstdn.maud.io
icon

Compiler という名前はついてるが実態は Validator のほうが近いな……

17:40:32 @kb10uy@mstdn.maud.io
icon

declavatar でいうとほぼセマンティクスが正しいかどうかしか見てないのでこの中だと 基本 cut でたまに backtrace みたいな感じっぽそう

17:38:55 @kb10uy@mstdn.maud.io
2023-11-22 17:37:21 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

winnow crate (パーサコンビネータライブラリ) のエラー設計が参考になるかも。エラーが

* incomplete (続行するには入力が足りない)
* backtrace (パース失敗したので別の候補を試すべき)
* cut (他の候補を試さないレベルの確定的なパース失敗)

の3種類ある

17:38:14 @kb10uy@mstdn.maud.io
icon

どのみち ? を continue 文脈で使えないんだよな(try_collect 頼む!)

17:37:11 @kb10uy@mstdn.maud.io
icon

Result<Option<T>, E> だけをそのまま取り回すよりはマシかな……

17:35:33 @kb10uy@mstdn.maud.io
icon

fn recover(self) -> Result<Option<T>, E>;

17:34:51 @kb10uy@mstdn.maud.io
icon

CompileStatus<T, E>{ Success(T), Failure, Fatal(E) } を生やしたことで ? が使いづらくなってしまった……と思ったが、 recover() を生やしたので案外問題ないかも

17:31:03 @kb10uy@mstdn.maud.io
icon

nightly 有効にするか……?

17:30:47 @kb10uy@mstdn.maud.io
icon

うーーー try trait も try block もほしいよ〜〜〜

15:26:06 @kb10uy@mstdn.maud.io
icon

try block はやくきてくれ~~!!!!

14:01:25 @kb10uy@mstdn.maud.io
icon

フム

Attach image
12:28:14 @kb10uy@mstdn.maud.io
icon

企画業務スーパーと専門業務スーパーがあり

12:26:40 @kb10uy@mstdn.maud.io
icon

おだいじに……

12:15:36 @kb10uy@mstdn.maud.io
icon

いくぶんマシになった気がする

Attach image
12:00:18 @kb10uy@mstdn.maud.io
icon

Object.DestoryImmediate ここから呼び出して大丈夫なんだ……みたいな思いがちょっとだけある

11:59:03 @kb10uy@mstdn.maud.io
icon

@anatawa12 Generating (AacPlugin<T> は Generating Phase) より Transforming が必ず後に実行されるというわけでもないんでしょうかこれ(まあ別 Phase だったとしても依存関係が定義されていたほうがよさそうではありますが)

10:41:16 @kb10uy@mstdn.maud.io
icon

あ、いつのまにか Firefox で Adventar にログインできないの直ってる