web-dev-qa-db-ja.com

プログラムの設計への確率論的意味論の適用

私は denotational semantics (DS)を少し読みましたが、タイプと関数が数学に強く明確にマッピングされているコンピュータープログラムを設計するプロセスに非常に興味をそそられます。

DSに基づいてプログラムを設計することについて詳細に説明しているリソースはありますか?このテーマの表面的な扱いをいくつか見ました。

私はHaskell、Scala、Common LISP、および少しのSchemeに精通しているので、これらの言語を使用するリソースがあれば大歓迎です。

30
Tim Stewart

表記設計(表記セマンティクスに根ざし、そこから流れるプログラム設計)が私の主要な方法論です。数年前にFRPについて書いているときに、自分が何をしていたのかが非常に明確になりました。 Push-pull Functional Reactive Programming を参照してください。パラダイムのより明確な説明とさまざまな例については、型クラスモーフィズムを使用した表記設計 を参照してください 。そのパターンに気づくと、どこでも探し始めました。それが失敗した場合、私は抽象化リークがあることを知っています。初期の非公式な説明については、Luke Palmerのブログ投稿 Semantic Design を参照してください。

私は常に表示デザインのアプリケーションに興味を持っているので、あなたの探求について聞きたいです。

13
Conal

言語設計自体に表記セマンティクスを適用し、言語、特にドメイン固有言語の設計はセマンティクスの定義から始める必要があると主張しました。詳細に興味がある場合は、 Semantics-Driven DSL Design および Semantics First!Rethinking the Language Design Process を参照してください。

7
Martin Erwig