タグ付けされた質問 「formal-semantics」

2
Rustの正確な自動逆参照ルールは何ですか?
私はRustで学習/実験しています。この言語で見つけた優雅さの中に、私を困惑させ、まったく場違いのように見える1つの特殊性があります。 Rustは、メソッド呼び出しを行うときに、ポインターを自動的に逆参照します。正確な動作を確認するためにいくつかのテストを行いました。 struct X { val: i32 } impl std::ops::Deref for X { type Target = i32; fn deref(&self) -> &i32 { &self.val } } trait M { fn m(self); } impl M for i32 { fn m(self) { println!("i32::m()"); } } impl M for X { fn m(self) { …

3
Bashスクリプトのセマンティクス?
私が知っている他のどの言語よりも、私は何か小さなことが必要になるたびにグーグルでバッシュを「学びました」。その結果、機能しているように見える小さなスクリプトを一緒にパッチワークすることができます。しかし、私は何が起こっているのか本当にわかりません。プログラミング言語としてのBashのより正式な紹介を望んでいました。例:評価順序は何ですか?スコープルールは何ですか?タイピングの分野は何ですか?たとえば、すべてが文字列ですか?プログラムの状態は何ですか?変数名への文字列のキーと値の割り当てです。それ以上のもの、例えばスタックはありますか?ヒープはありますか?等々。 この種の洞察についてはGNUBashのマニュアルを参照しようと思いましたが、それは私が望んでいることではないようです。これは、コアセマンティックモデルの説明というよりも、シンタックスシュガーの洗濯物リストです。オンラインの百万と1つの「bashチュートリアル」はさらに悪いだけです。おそらく私は最初に勉強しsh、Bashをこれに加えて構文糖衣として理解する必要がありますか?しかし、これが正確なモデルであるかどうかはわかりません。 助言がありますか? 編集:私は理想的に私が探しているものの例を提供するように頼まれました。私が「形式的セマンティクス」と考えるもののかなり極端な例は、「JavaScriptの本質」に関するこの論文です。おそらく、少し正式ではない例は、Haskell2010レポートです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.