p.tatapa.org

p.tatapa.org

R7RS (small) 準拠を謳ってるのに「1」一文字でも受理しちゃう処理系、全部バグだと思うんだけど、流石に規格が間違い?

つまり(REPLじゃないなら)一つ以上のimportがないと正しくないから、結果リテラルだけ扱うにも最低限base libが必要だと規格にある、ように読めるんだけど、これは規格のバグかなー。+が*なのか否か

空文字列でも同じ事できた

@tadd ある規格に準拠しているという場合、規格で禁止されていない限り、規格よりも広い範囲を受け入れるのは一般的なのでは(CとかECMAScriptとかHTML/CSSとかPOSIXシェルとか)。
(いや、もしかしたら規格側で拡張について定めてる場合もあるかも。あるいは拡張してる場合は準拠という言葉は避けてるかもしれない)

@ruto @tadd 未定義動作は何がおこっても文句言えない、みたいな話?

@ikeji @ruto あーなるほど、それはありそう!自分の頭が抜けてただけな気がする

@tadd @ikeji ECMAScript, POSIX, C18 (ドラフト)は拡張について比較的はっきり定めている(Conformanceの節)けど、R7RSはあまりはっきり定めていないっぽい。

@ruto @ikeji ちょっとずれる話になっちゃうけど、これUSBについても見て、るとくんと同じ立場から考えてモヤモヤしてることがあった。
「規格でこうすると書いてある」というのと「こうしてはいけないと書いてある」を混同して、「『こうする』をやってないから規格違反!(後者説)」という人が溢れてるのに気付いてうんざりしたことがあった。
エンジニアに説明してもなかなか分かって貰えないことがあって、辛かった……

@ruto @ikeji けど実際にUSBの規格をしっかり見たわけじゃないので、自分が見落としてたり勘違いしてるのかも知れない。
(でも自分が書いた・観測した人たちは、「してはいけないと書いてある」と規格を引くことは見たことなくて、うむむ)

@tadd @ikeji USBの規格でしてはいけないと規定されていることはけっこうありそう(ネゴシエーション無しに一定以上の電力を引き出してはだめとか、対応したケーブル以外には一定以上の電流を送ってはだめとか)だけど、具体的にどういうところ?

@ruto @ikeji おー、そうなんだ。うろ覚えで申し訳ないんだけど、自分が話してたのはたしか、「メーカーによる独自拡張は全部違反」という話だったと思う。PDが出る前の世界で「うちの充電器と対応してる機器なら、通常より早く充電できますよ」みたいな。

@ruto @ikeji たとえば、規格が定めた以外のネゴシエーションの方法で電力を引き出したら違反なんだろうか?

replies
1
announces
0
likes
0