[過去ログ] 関数型プログラミング言語Haskell Part32 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
11
(3): ◆QZaw55cn4c 2019/02/03(日)15:04:51.94 ID:t4xt++Qj(1/20) AAS
>>9
>無限ループになっちゃって終わらないでしょ終端条件も書いてないし。
いえいえ、終端条件が
>fact 0 = 1
です、n ∈ N たる n からはじまって 0 で終わる、と読みます
fact 3 = 3 * fact 2
= 3 * 2 * fact 1
= 3 * 2 * 1 * fact 0
= 3 * 2 * 1 * 1
で止まります.
26: 2019/02/03(日)21:28:01.94 ID:DVkCUlxV(4/11) AAS
>>23
>1 - 1で fact 0をevalしてまたfact(1)になる
ならねーよ そこが恥ずかしいところだ
116: 2019/02/03(日)22:59:39.94 ID:RwDwNYzW(23/27) AAS
>>114
>直前の結果が1なので

ここはOK

>fact(n-1)に与えられてfact(1-1)

ここが間違い。与えられるfact(n-1)がもう存在しない
172
(1): 2019/02/22(金)20:17:22.94 ID:LKaW/yz7(2/3) AAS
>>171
folder_left f (f a a1) [a2, a3]
になるところまではわかるんだよね?
そしたらまず括弧の中から先に計算するのはどの言語も普通だよね
だから先に(f a a1)の答えが出る
fは引数を2つとる関数だから、答えを出すのに支障はないよね
ここで(f a a1)の計算結果をz1としようか
そしたら上の式は
folder_left f z1 [a2, a3]になるよね?
そうすると、f、z1、[a2, a3]の3つの引数を使って、folder_leftがまた呼び出されるのがわかる?ここが再帰ね
省21
208: 2019/02/25(月)13:11:14.94 ID:EIUHHo5S(1) AAS
haskellのGUIは何が主流なの
gtkじゃネイティブUIに見えないからqtahとか?
もしくはhaskellではGUIを扱わないとか?
255: 2019/03/22(金)22:26:05.94 ID:t/nkQ3ne(7/8) AAS
ヒープにあろうがスタックにあろうが末尾再帰に意識して書けばまず解決する問題だね。
ghciやrunghcみたいなスクリプト形式だと最適化(部分的な正格評価)が不十分で

sum’ n [] = n
sum’ n (x:xs) = sum’ (n + x) xs

という末尾再帰があった場合、

sum’ 0 [1,2,3]
= sum’ (0 + 1) [2,3]
= sum’ ((0 + 1)+ 2) [3]
= sum’ (((0 + 1)+ 2)+ 3) []

みたいに(遅延評価のせいで)結果を入れる変数の方でスタック消費するけども、コンパイラ(ghc)の方はこの問題は無い。
398
(1): 2019/06/20(木)04:43:35.94 ID:R55GIdRS(2/2) AAS
>>397
補足しますと、functorial は分かります。
ですが、functoriality がいったい何に対してどのような意味で使う言葉なのか分かりません。

Hask圏を例にしてくれると助かります。
454: 2019/08/27(火)13:49:23.94 ID:aYd+hskG(1/2) AAS
たしかにむずかしいね。
458: 2019/08/29(木)17:00:49.94 ID:ssy8xOLs(1) AAS
>>456
> Haskellは数学者のおもちゃの域を超えてないな

本当の数学者はHaskellなんて相手にしないよ
Haskellという玩具で喜んで遊ぶのは数学者じゃなくて数学者にあこがれてるだけの単なるプログラマ
471: 2019/09/15(日)14:38:10.94 ID:CYqvBFjr(1) AAS
転職を強く推奨します
504: 2019/10/08(火)18:27:09.94 ID:gcgHRAAu(1) AAS
もう生産性高いとは誰も言わなくなったね
619: 2019/10/23(水)22:55:47.94 ID:MhItXVwr(2/2) AAS
ミス f (g x) == (f . g) x だった
675: 2019/11/03(日)18:49:00.94 ID:AdH9k/oI(1) AAS
>>661
?かな
宣言的プログラミングの作法が身につく

普段Javaを使っているのなら、
最近のJavaは関数型プログラミングのシンタックスがかなり増えてきているので
Haskellで高階関数の使い方を理解しておくと、Javaプログラミングに直接的に役立つ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.050s