プログラムの設計への表示的意味論の適用


30

デノテーショナルセマンティクス(DS)について少し読んだことがあり、型と関数が数学に強く明確にマッピングされているコンピュータープログラムの設計プロセスに非常に興味があります。

DSに基づいたプログラムの設計を詳細に議論するリソースはありますか?私は対象のいくつかの表面的な治療を見てきました。

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


7
Conal Elliottの作品をご覧ください

2
あなたがまだ知らなかったなら、カレー-ハワード同型はキーワードです。
ペドロフルラ

2
同じようなことを考えました。点、剛体、流体の数値シミュレーションを設計しようとしました。これ(github.com/takagi/SimulationDSL)は、Haskell DSLでベクトル代数と部分方程式を表現した私の実験の1つです。また、Conal Elliottの作品もチェックしました。

3
LtUをチェックアウトする必要があります。そこはおそらくいくつかの良い古い議論があり、あるいは少なくともあなたの質問は、SOのより良いフィット感があるだろう

3
Samuel Kaminの「Wadlerのきれいな印刷コンビネーターの実装指向のセマンティクス」を読んでください。運用上のアプローチと表示上のアプローチを比較して、よく知られた実世界の例を実装し、表示上のアプローチの擁護を行います。
スティーブンテトリー

回答:


13

デノテーショナルデザインデノテーショナルセマンティクスに根ざしたプログラムデザイン)は、私の主要な方法論です。数年前、FRPについて書いている間、私は自分が何をしていたかについてずっと明確になりました。プッシュプル機能リアクティブプログラミングを参照してください。パラダイムのより明確な説明とさまざまな例については、型クラスモーフィズムを使用した表示設計を参照してください。パターンを意識すると、どこでもそれを探し始めました。失敗した場合、抽象化リークがあることを知っています。初期の非公式の説明については、Luke Palmerのブログ投稿Semantic Designを参照してください。

表示デザインのアプリケーションに常に興味があるので、あなたの探検について聞いてみたい。


素晴らしいリソースをありがとう。質問に回答済みのマークを付ける前に、それらをチェックアウトします。
ティムスチュワート

あなたの作品へのリンクを提供してくれてありがとう!勉強するのは2度目です。残念ながら、conal.netは答えません。他に入手できる場所はありますか?
imz-イヴァンザカリヤシェフ14


1
@ imz--IvanZakharyaschevごめんなさい。Webサーバーがダウンしました。今すぐバックアップします。うまくいけば、すぐに移行して、より安定したものになるでしょう。
コナル14

7

言語設計自体に表示的セマンティクスを適用し、言語、特にドメイン固有言語の設計はセマンティクスの定義から始めるべきだと主張しました。詳細に興味がある場合は、Semantics-Driven DSL Design and Semantics Firstをご覧ください言語デザインプロセスの再考


素晴らしいリソースをありがとう。質問に回答済みのマークを付ける前に、それらを確認します。
ティムスチュワート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.