web-dev-qa-db-ja.com

関数型リレーショナルプログラミングと関数型プログラミングの違いは何ですか?

このスレッドリンクされた論文 の両方を読んだ後、FRP(関数型リレーショナルプログラミング)が(FP)関数型プログラミングとどのように異なるのか理解できません。

FRPはFPを増強または置き換えますか? FRPはFP言語でライブラリとして実装できますか?

8
user39685

関数型リレーショナルプログラミングは、その名前が示すように、関数型プログラミングとリレーショナルモデルの両方がブレンドされているようです。私はこの文章がそれをかなり要約していると思います(p。42):

FRPでは、すべての必須状態は関係の形を取り、必須論理は、(純粋な)ユーザー定義関数で拡張された関係代数を使用して表現されます。

関数型プログラミングは状態を方程式から削除し、純粋な関数のみを扱います(副作用はありません)。これは想定であり、データ操作が隠されないようにして、プログラムについて推論しやすくすることで、誰にとっても物事を容易にします。 FPは美しい理想ですが、実際のアプリケーションでは状態が必要であり、多くの場合有用です。もちろん、FP関与。

紙を一目見ただけで、厳密に制御された方法で状態を許可することにより、FPを簡素化しようとしているようです。リレーショナルデータはよく構造化されており、推論しやすく、関数型プログラムは簡単です(人間の感覚ではないかもしれませんが)について推論するため、FPをRで増強し、国を愛するすべての人が暮らしやすいようにします。

8
axblount