Lisp Scheme Part41 (809レス)
上下前次1-新
抽出解除 レス栞
560(2): はちみつ餃子 ◆8X2XSCHEME 2023/01/11(水)00:38 ID:s0T2WgwN(1/2) AAS
Gauche で検出されないエラーで (let ((0 1)) 0) みたいなのがあって、
実際にはオプティマイザが消去してしまうんだそうな。
文法の解析で通したものをオプティマイザがエラーとして弾くのも変な話だし、
オプティマイザが走査することがわかっているものを前段階でもチェックするのは二度手間だし、
オプティマイザを密結合してしまうのも保守しづらいし……
という葛藤があるのはわかる。
まあそれぞれに事情があるので原理的に可能だからといってそうすべきだとも言えない気がする。
570(1): 2023/01/11(水)06:21 ID:/IOcm4EW(6/8) AAS
一応値については正しいというだけで、もしbodyに(exit)や大域脱出が入ってても無視するのか?という問題はある
ill-formedな>>560すら無視するのだから、当然well-formedな(exit)も無視するのが自然だけど、実際のところはgaucheに訊いてください
571(1): はちみつ餃子 ◆8X2XSCHEME 2023/01/11(水)17:03 ID:s0T2WgwN(2/2) AAS
>>570
念のために補足しておくけど >>560 のケースは捕捉されないエラー
(現時点では捕捉することを意図的に諦めているエラー) であって
Gauche の仕様として正しいというわけではないよ。 結果は未定義。
直接的に書いてしまった場合にしてもマクロ展開結果でこうなるにしても
あくまでも誤っているプログラムだからね。
言いたかったのは >>557 に対してで、原理的に出来てもやらない事情の例として
(私は ECL のことは全然知らないので) Gauche での例を出したってだけ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.263s*