2011-12-09 30 views
1

この質問で私はVan RoysとSeif Haridiの本 - "コンピュータプログラミングの概念、技術、モデル"を参照しています。記述的宣言的カーネル言語

(参照書籍から自分自身の言葉で解釈)背景情報:

宣言プログラムは、我々は、特定の結果を達成するためにどのよう を説明せずに達成したいものを定義します。宣言型プログラムが記述 になるか、プログラム可能なプログラマブルレベルは、私は他の人が私に説明したいと思います


  • コンポーネント(コンテキストと動作)について説明し


    あり記述的な宣言型のプログラムとは何ですか?定義されているものは何ですか?参照を読みながら

  • 私も実際に記述プログラマブルレベル間の関係(差)をマークしたいと思います(プログラミング言語)が

この質問は、生じました宣言的プログラミングに関する章。 (ページ115は、宣言的なプログラミングの分類について説明しています。記述的な宣言の定義は、少なくとも私にとっては不明です)

答えて

2

説明的な宣言的なOzプログラムは、変数と値のみを使用するプログラムです。制御構造や再帰を使用しません。たとえば、次のように

A = 42 

または

B = person(name:"Hans" age:20) 

かさえ( "無限" のレコードを作成する):

C = loop(data:42 link:C) 

(埋め込まれたJavaScriptのような任意の拡張子を使用せずに)HTML文書はまた、希望説明的な宣言的なプログラムであること。 純粋に記述的な言語はチューリング完全ではありません。 純粋に記述的なプログラムは、プログラム可能な宣言的なプログラムの本当のサブセットです。

プログラム可能な宣言型プログラムには、再帰型およびその他の多くの制御要素を含めることができます。このモデルは本の第2章で説明されています。重要なプロパティは「参照透過性」です。すなわち、どのような状況や頻度で関数を呼び出すかにかかわらず、同じパラメータを指定すると常に同じ結果が返されます。 純粋に機能的なHaskellプログラムも、プログラム可能な宣言型プログラムの一例です。

このような質問については、Mozartユーザーのメーリングリストと多分 "Lambda the Ultimate"フォーラムをお勧めします。これらの場所では、あなたの質問にも書籍の著者が答えることができます。

関連する問題