- 関数型プログラミング言語Haskell Part27_©2ch.net
621 :デフォルトの名無しさん[sage]:2015/02/21(土) 12:12:42.07 ID:gIj/6adm - callCCで強制的に末尾呼び出しすればいいのかな
callCC :: ((a -> (b -> c) -> c) -> (a -> c) -> c) -> (a -> c) -> c callCC f k = f (const . k) k ちなみにコンストラクタを使うとコードが読みにくいし使わないと型が見にくい
|
- 関数型プログラミング言語Haskell Part27_©2ch.net
630 :デフォルトの名無しさん[sage]:2015/02/21(土) 17:31:01.12 ID:gIj/6adm - これはリファクタリングの議論に似てる
仕様を一切変更することなく実装を変更するのは不可能 同様に、純粋でない道具を一切使わずに純粋な関数を作るのは不可能 ここで道具を使うというのは仕様を使ってるのか実装を使ってるのかで混乱しやすい
|
- 関数型プログラミング言語Haskell Part27_©2ch.net
639 :デフォルトの名無しさん[sage]:2015/02/21(土) 21:38:55.94 ID:gIj/6adm - >>638
例えば馬と自動車の仕様が同じと思うか違うと思うかは人それぞれ だからこそ、一切変更されないなんて言ってはいけないと思う
|