関数型プログラミング言語Haskell Part34 (667レス)
上下前次1-新
抽出解除 レス栞
484(3): 2024/10/04(金)21:28 ID:tixO3LDq(9/22) AAS
λ計算を機械語とかアセンブラと見立てて、λ計算ですべて数学世界を組み立てれば、
入出力がある数学的関数も定義できるだろうから、あえて数学的正当性なんて与えようとする
理由がわからない、ということだろうと思った。
プログラムの部分は全てλ計算で組み立てれば完全に同じものが作れると思っているということ
だけれども、じゃあ文字列をディスプレイに表示するというプログラムの構成要素である
ディスプレイはハードウェア部分だけれども、それはλ計算で組み立てるという範疇にはいるんですか?
入らないなら、なにか数学的概念を持ち出してきてそれに対応付けるということをしないといけないんじゃ
ないですか?
という趣旨のことを書いた。
488: 2024/10/04(金)21:39 ID:tixO3LDq(12/22) AAS
>>484
ディスプレイに表示するまでの概念はよく考えたら既存の例でもなかったわ。
焦って変なこといったスマン。
ちょっと説明を考える。
489: 2024/10/04(金)21:39 ID:WSIC8Xt5(6/14) AAS
>>484
意味不明すぎる
ラムダ計算は数学的に正当化されてるだろ
例えば合流性があるとか数学的に証明されてる
これのどこに非数学的要素があるんだって言ってるんだよ
すでに数学的な説明がされてるものに対して、数学的に正当化されてないとか言うのやめろよ
493(1): 2024/10/04(金)22:08 ID:vLDssEdm(5/9) AAS
>>484
横からというか >460 書いた者だけど、あなたの疑問は解釈1の「アクションを受け取ってアクションを返す関数」だとざっくりし過ぎて納得いかないって感じでしょうか?
でしたら、解釈2では納得出来ませんでしょうか?
解釈2は、モナドの効能の一つに追加して「数学の世界にアウトソーシングという概念を持ち込む」というものです。
モナドの例えとして、床下配線というのがありますが、MaybeやListの様な通常のモナドも、>>=の中に関数適用部分を押し込んで、表から見えないようにしています。
(これも、見ようによってはアウトソーシングです。同じ数学の世界なので、隣の席に頼んだ感じですが)
IOモナドは、>>=の中すら見えない状態で関数適用しているわけですが、 >460 でも書いたとおり、「数学の外(ハードウェア)」で関数適用されていると考えるわけです。
IOモナドの>>= は、外の世界と遣り取りする受付窓口というわけですね。
(実際、バッファの様な振る舞いをします)
main = do x <- return 0
省2
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.195s*