[過去ログ] 関数型プログラミング言語Haskell Part32 (998レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(2): [ageteoff] 2019/01/29(火)09:05 ID:gJP/u7IJ(1/3) AAS
関数型プログラミング言語 Haskell について語るスレです。

haskell.org (公式サイト)
https://www.haskell.org/
日本Haskellユーザーグループ
https://haskell.jp/

前スレ
関数型プログラミング言語Haskell Part31
2chスレ:tech
2: [ageteoff] 2019/01/29(火)09:06 ID:gJP/u7IJ(2/3) AAS
過去スレ一覧
30) 2chスレ:tech
29) 2chスレ:tech
28) 2chスレ:tech
27) 2chスレ:tech
26) 2chスレ:tech
25) 2chスレ:tech
24) 2chスレ:tech
23) 2chスレ:tech
22) 2chスレ:tech
省21
3: [ageteoff] 2019/01/29(火)09:07 ID:gJP/u7IJ(3/3) AAS
関連サイト
(英語)
Haskell - Wikibooks, open books for an open world (ページ内に内容をまとめたPDFあり)
https://en.wikibooks.org/wiki/Haskell

Learn You a Haskell for Great Good! (『すごいHaskellたのしく学ぼう!』の無料オンライン版)
http://learnyouahaskell.com/chapters

Real World Haskell (同名書籍の無料オンライン版)
http://book.realworldhaskell.org/read/

(以下、日本語)
Haskell入門 5ステップ - HaskellWiki (公式サイト内、日本語入門セクション)
省13
4
(1): 2019/01/31(木)07:01 AAS
手続き型でゴリゴリやってきた人にとって関数型は
マラソンの選手に、匍匐前進と水泳で近道するよう強制しているかのようです
5: 2019/01/31(木)07:24 ID:4JULsXj7(1) AAS
>>4
手前味噌ですが、Haskell入門以前と言う電子書籍をAmazonでご購入下さい。
まさに貴方のような方に関数脳を作ってもらうための本です^^
6: 2019/01/31(木)20:10 ID:KXLDvKfy(1) AAS
IOモナドは手続きモナド
7: 2019/02/01(金)07:26 ID:L0GRy80q(1) AAS
初心者がHaskellでオンライン問題集みたいなの解いてんだけど
Haskellでやるとこういうの楽しくてええな
8: 2019/02/02(土)00:12 AAS
CPS書き換えドリル
次の英文を○○構文を用いて同じ意味の英文に書き換えなさい的な
9
(11): 2019/02/03(日)12:58 ID:5bolWXfM(1/36) AAS
haskell紹介してるブログとか色々あるけどどこも肝心要のところがすっぽり抜けててイライラするな・・

例えば
fact 0 = 1
fact n = n * fact(n - 1)

これ無限ループになっちゃって終わらないでしょ終端条件も書いてないし。
fact 3を展開すると
3 * ( 2 * ( 1 * ( 1 * ………

0を入力すれば1になるってことはこの先ずーっと1が繰り返されるだけだし。
同じ値が2度続いたら処理を止めるとか変な仕組みでも入ってるのかねー
10: 2019/02/03(日)14:29 ID:0VpSvizO(1) AAS
>>9
自分で動かしてみればわかるけど
ちゃんと終わるよ

https://wandbox.org/permlink/goI0n8nF0ac90ofx
11
(3): ◆QZaw55cn4c 2019/02/03(日)15:04 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
で止まります.
12
(1): 2019/02/03(日)15:10 ID:DVkCUlxV(1/11) AAS
>>9
恥ずかしいぞ

>fact 0 = 1
で、これ以上再帰してないじゃん
13
(3): 2019/02/03(日)20:51 ID:5bolWXfM(2/36) AAS
>>12
それじゃ納得できないんだけども
終わるから大丈夫仕様ですってもやっとするから

>>9で書いたように1が無限に続いちゃうと思うんだけどな
0が入力されたら1を返すってことだから
1 - 1でまた繰り返しちゃうよね

そもそもどの値が来たら終わるか全く記述がないよね
そういうところも納得できないっていうかおかしい
14
(1): 2019/02/03(日)21:08 ID:RwDwNYzW(1/27) AAS
>>13
>>11 が説明してくれたとおりなのだけど、納得できない?
15
(3): 2019/02/03(日)21:13 ID:5bolWXfM(3/36) AAS
>>14
あの説明で納得するようならここ来てないから
あれだとブログの説明と何も変わらない

まさか1かtrueを返したら問答無用で終わる仕様だったりするのかねー
16
(1): 2019/02/03(日)21:15 ID:DVkCUlxV(2/11) AAS
>>13
ああ 言っている意味は分かったけど
続かねーぞ よく考えてみ 恥ずかしい思いするだろうけど

っていうか、>>11のひとが書いてるじゃん 

fact 1 = 1 * fact 0
= 1 * 1 で終了だろ

これ納得できないとしたら、別のところで引っかかっている
パターンマッチを理解していないとか
17: 2019/02/03(日)21:18 ID:DdA3Wm74(1/9) AAS
>>15
バカで思い込みが激しいって最悪だぞ?どっちかにしろ。
18
(1): 2019/02/03(日)21:19 ID:5bolWXfM(4/36) AAS
>>16
それじゃ終わらない
終了条件が書いていないから

なんどもいうように * 1がずーっと続くようにしか見えない
だからこの例題見たときにイライラしてたんだよね
前提となってる仕様があるけど説明省いたとかそれ系かなと
19
(2): ◆QZaw55cn4c 2019/02/03(日)21:19 ID:t4xt++Qj(2/20) AAS
>>13
では逆に質問しましょうか、そこから両者が部分的にでも合意できるポイントを探ることにしましょう
>>9
>fact 0 = 1
>fact n = n * fact(n - 1)
これをあなたはどのように解釈したかを、もう少し詳しめに記述していただくことは可能でしょうか、私の記述は今は >>13 が精一杯ですが、あなたの返答をみて改善できる点はないか検討したいと思います
20
(2): 2019/02/03(日)21:20 ID:RwDwNYzW(2/27) AAS
>>15

ほとんど同じ説明だが…

関数の定義が
fact 0 = 1
fact n = n * fact(n - 1)
となっている。
このとき、左辺が右辺に置き換えられる (簡約という)

つまり fact 3 は 3 * fact 2 に置き換えられる
そして fact 2 は 2 * fact 1 に置き換えられる
そして fact 1 は 1 * fact 0 に置き換えられる
省9
1-
あと 978 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.342s*