エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
プログラムの純粋性について考える —— Clojure/Haskellとともに
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
プログラムの純粋性について考える —— Clojure/Haskellとともに
はじめに 純粋ってなんだろう? 「プログラムが純粋であるとは、副作用がなく参照透過であることです」 ... はじめに 純粋ってなんだろう? 「プログラムが純粋であるとは、副作用がなく参照透過であることです」 「えっと、それで?」 こうした 定義と理解の間のギャップ を埋めるために筆を執りました。 筆者が特に届けたいのは「純粋とはプログラムを ただの計算 にする考え方だ」という理解です。 「ただの計算」というのは f(x, y) = (x + y) * 2 のような入力だけで値が決まる式のことです。 これはいつ、何度、並行して呼ばれるかに影響されず、テストは計算結果が正しいかのチェックだけにできる。 コードの難しさは 考慮しないといけない範囲 に大きく左右されると筆者は考えています。 DB の状態、呼び出しのタイミング、並行時の競合などです。 純粋性は考慮範囲という難しさに対する1つの回答だと言えます。 コード例には、純粋性との向き合い方が少し違う2つの言語、Clojure と Haskell を

