◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

状態管理技術★オブジェクト指向 VS モナド(関数型)


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1538080434/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2018/09/28(金) 05:33:54.48ID:KzZzOQh5
アプリケーションの開発において状態を扱うことから逃れることはできません
オブジェクト指向では状態をオブジェクト内部に保持します。
一方、関数型ではモナドを使用します。

モナドは理解が難しいと言われ、そのため関数型の利用は
状態を持たなくて良い一部のライブラリや処理での利用に
とどまっているようです。

さてでは本当に関数型で状態を扱うのは大変なのでしょうか?
このスレでは関数型に詳しい人が、状態をどのように扱っているのかを解説し、
オブジェクト指向と関数型で状態を管理するのは、どちらが簡潔に記述でき
理解やテストがしやすいかを討論するスレです。

禁止事項
関数型言語では状態がなくなるんだ(嘘)だから簡単なんだ。
みたいな嘘、もしくは根拠が無い書き込みはやめてください

2デフォルトの名無しさん2018/09/28(金) 06:40:37.49ID:hR0VEh+R
関数型はモナドを使用するとか言う嘘もやめろよ

3デフォルトの名無しさん2018/09/28(金) 11:13:01.04ID:ZPUH9RAL
自分は関数型は全く知らないけど
オブジェクト指向プログラミングだけで切り込もうと思う
多分あっちのスレからのスピンアウトだよね?

4デフォルトの名無しさん2018/09/28(金) 18:15:42.06ID:jC6aEKFB
コモンリスプオブジェクトシステム
略称 CLOS

5デフォルトの名無しさん2018/11/24(土) 16:11:38.86ID:+zOeUKp1
モナーて関数なの?

6デフォルトの名無しさん2018/12/01(土) 05:38:07.94ID:bGikX0J0
関数が状態持てたら関数型の意味がないような気がするが、そうでもないの?

7デフォルトの名無しさん2018/12/01(土) 06:14:54.83ID:qTwx0ygK
stateモナドとかか?

8デフォルトの名無しさん2019/01/17(木) 00:51:53.19ID:rro3H2AR
誰もモナドなんて分からないのに無理してこんなスレ立てるから…

9デフォルトの名無しさん2019/01/17(木) 09:58:52.91ID:3QkeoDD1
モナドとは関数型言語を手続き型言語にする手法だから
はじめから手続き型を使えばよろしい
終了

10デフォルトの名無しさん2019/03/13(水) 22:25:47.01ID:vPzmbHWs
>>9
モナドは逐次処理を関数型言語にもたらすものではあるけど、モナドのインスタンスIO(アクション)やリストは単純な再帰でもループとして処理出来る。(スタック消費しない)
ループ命令より再帰の方が単純になり易い。

純粋関数型言語限定だろうが、逐次処理を式として扱えるので定理証明システムとかでバグが無いことを証明できる。
(テストを通ってもバグがないと言い切れない手続き型言語との大きな違い)

11デフォルトの名無しさん2019/03/14(木) 01:05:16.15ID:cU9OQC8I
バグはテストが足りない、テストが間違ってることによって起きるのがほとんどなので
純粋関数型言語だろうが、バグの発生率は変わらない

12デフォルトの名無しさん2019/03/14(木) 01:06:24.79ID:cU9OQC8I
> ループ命令より再帰の方が単純になり易い。

末尾再帰になってるものは、ループのほうが単純になる

13デフォルトの名無しさん2019/03/14(木) 06:38:37.07ID:TPG8S2ma
>>12
同程度になる。なら聞いた事あるが。。。
末尾再帰自体がもうfoldlやfoldrとして関数化されてるし。

sum xs = sum’ 0 xs ― 部分適用でxsを省いてsum = sum’ 0とも書ける
where
sum’ a [] = a
sum’ a (x:xs) = sum’ (a + x) xs ― ここのsum’が末尾再帰関数

sum = foldl (+) 0

そしたら、似た構造の関数もfoldlに渡す引数を差し替えるだけ。

product = foldl (*) 1

reverse = foldl (\ns x -> x:ns) []

length = foldl (\a _ -> a + 1) 0

んで、IOモナド(アクション)もIO a型と副作用がある以外は普通の関数なので、普通の関数(自作関数含む)と関数合成も出来るし、普通の関数と同じく部分適用も出来る。
(do使って手続き型っぽくするから関数っぽく見えないだけで、doを使わずモナド演算子で書けばただの式)

main = prs [[1,2,3],[4,5,6]]
where prs = mapM_ print.reverse ― printアクションを含む関数の関数合成&部分適用の例

普通の関数も型に気をつけるので、扱いとしては普通の関数と変わらん。
(どっちかと言うのと特別扱いなのはmain変数の型がIO ()って事が特殊)


lud20190905043538
このスレへの固定リンク: http://5chb.net/r/tech/1538080434/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「状態管理技術★オブジェクト指向 VS モナド(関数型) 」を見た人も見ています:
LINEが中国にシステム管理委託、日本人さんの個人情報は技術者が見れる状態へ!ネトウヨ震えろ!
コインチェック 推奨技術も使わず顧客資産を常時接続で管理…杜撰な運営実態に批判の声も社長は「他に優先すべきことがあった」
【企業】ウォークマンの父がソニーの現状に警鐘「管理屋の跋扈でヒットが消えた」「技術が分からないトップが就任するとこうなる」 [無断転載禁止]
2級舗装施工管理技術者
1級舗装施工管理技術者
電気管理技術者 part5
電気管理技術者 part9
電気管理技術者 part7
電気管理技術者 part 8
電気管理技術者 part6
電気管理技術者 part4
河川ポンプ施設管理技術検定
電気管理技術者 part11
電気管理技術者 part10 ->画像>20枚
芝管理技術者は集まれ パート1
乳牛を顔認識して個別管理するシステム 牛乳の生産量や健康状態を分析
【話題】人気呼ぶ「もっこ橋」、管理者なく不法占拠状態・京都 
地銀3割が口座管理手数料 休眠状態の預金に、顧客負担増 [蚤の市★]
電気管理技術者/保安業務従事者 part15
電気管理技術者/保安業務従事者 part17
電気管理技術者/保安業務従事者 part16
【獣医学】犬の心拍の変動からストレス状態を測定 犬に装着し健康管理などができるセンサーの開発へ/大阪府立大 
【新型肺炎】台湾、マスクは2/1から政府が一括管理で提供 品薄状態に対応 1/31
【菅官房長官】「韓国が国際法違反の状態を解決するよう」輸出管理への非難に[8/29]
電気管理技術者 part3 [無断転載禁止]
【広島】酸欠状態の作業員死傷で造船会社「光洋工業」常務送検…安全管理怠った疑い 尾道市
電気管理技術者 保安業務従事者 part13
【恥報】Y!mobileの店舗ページにてエラーが発生中 ESXiのログイン管理が丸出し状態に
電気管理技術者/保安業務従事者 part18
電気管理技術者/保安業務従事者 part14
電気管理技術者/保安業務従事者 part18
【IT】被災地発のIT連携遠隔で健康状態をチェックできる「肌着」、コロナ患者の体調管理に [しじみ★]
賃貸住宅、異常な「大余り」状態…アパート空室率が約4割の地区も、老朽化で管理放棄も★2 [無断転載禁止]
電気管理技術者 保安業務担当者 part12
Windows 10 Fall Creators Updateで色々と設定が初期状態に戻るから確認しておけよ。LFS1.1やUSBの電源の管理など
【芸能】真木よう子 独立後は管理する人が誰もいない状態で「新宿歌舞伎町の新女王」に[07/20] [無断転載禁止]©bbspink.com
【通称】建築物環境衛生管理技術者87棟目【ビル管】
1級土木施工管理技士part.11 【監理技術者ヘ】
【通称】建築物環境衛生管理技術者 90棟目【ビル管】
1級土木施工管理技士part.12 【監理技術者ヘ】
1級土木施工管理技士part.10 【監理技術者ヘ】
【通称】建築物環境衛生管理技術者 109棟目【ビル管】
【通称】建築物環境衛生管理技術者 96棟目【ビル管】
【香川】マンション管理人をナイフでさした殺人未遂容疑の女性、刑事責任問えず不起訴処分「被害妄想に支配された状態」…高松地検
1級土木施工管理技士part.13 【監理技術者ヘ】
1級土木施工管理技士part.14 【監理技術者ヘ】
【通称】建築物環境衛生管理技術者 91棟目【ビル管】
【通称】建築物環境衛生管理技術者 119棟目【ビル管】
【通称】建築物環境衛生管理技術者 97棟目【ビル管】
【漫画家】“中間管理録トネガワ”作者・橋本智広、居酒屋でサシ飲みをしてコロナ感染「入院して肺が真っ白状態」「人工心肺装置一歩手前」 [Anonymous★]
【通称】建築物環境衛生管理技術者83棟目【ビル管】
【通称】建築物環境衛生管理技術者 107棟目【ビル管】
【通称】建築物環境衛生管理技術者 104棟目【ビル管】
【通称】建築物環境衛生管理技術者 107棟目【ビル管】
【通称】建築物環境衛生管理技術者 111棟目【ビル管】
【通称】建築物環境衛生管理技術者 107棟目【ビル管】
【通称】建築物環境衛生管理技術者 105棟目【ビル管】
【通称】建築物環境衛生管理技術者 103棟目【ビル管】
【通称】建築物環境衛生管理技術者 112棟目【ビル管】
【通称】建築物環境衛生管理技術者 107棟目【ビル管】
【通称】建築物環境衛生管理技術者 105棟目【ビル管】
韓国、日本の輸出管理めぐりWTO提訴 但し、WTOは機能停止状態 ネット「優遇してくれない!他国と同じ扱いはヤダ!で提訴とかバカだろ [Felis silvestris catus★]
【経済】1千万円求人が増加 管理職・技術者…外資も食指
【通称】建築物環境衛生管理技術者 98棟目【ビル管】
10:47:26 up 52 days, 11:50, 2 users, load average: 18.07, 31.29, 34.79

in 0.0086939334869385 sec @0.0086939334869385@0b7 on 030700