[過去ログ]
関数型プログラミング言語Haskell Part33 (1002レス)
関数型プログラミング言語Haskell Part33 http://mevius.5ch.net/test/read.cgi/tech/1581326256/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
658: デフォルトの名無しさん [sage] 2021/01/20(水) 18:38:17 ID:apYLuAz7 >>655 ありがとうございます そうなんです 今のところそれしか解決策ないんです しかし希望では IO [ Int ] であって欲しいんです イメージとしてはこうです ある関数 f があって乱数で挙動が変わって欲しい もちろん最終的にはIOモナドを使わないとしょうがない しかし色々いじってる段階ではモナド被せないで代わりに擬似乱数無限配列 psuedRand :: [ Int ] みたいなのを食わせて f a b c psuedRand みたいに呼び出して色々頑張って、最後の最後にIOモナドで実地に ( return . f a b c ) =<< realRand に切り替えるみたいな事ができないかなと思ったんです f が使用する乱数がある程度わかるので別に無限列でなくてもいいっちゃいいんですけど 今一歩モナドに包まれてる関数いっぱい出てくるの好きじゃないんですよ 通のホムペとか見てるとむしろバンバンモナドでくるんどいた方がいいみたいなのもみるんですけどねぇ http://mevius.5ch.net/test/read.cgi/tech/1581326256/658
659: デフォルトの名無しさん [sage] 2021/01/20(水) 18:57:39 ID:IzsyJlfZ >>658 そうなのかあ。 すまない、俺では力不足のようだ。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/659
662: デフォルトの名無しさん [sage] 2021/01/20(水) 21:15:09 ID:jArj32vs >>658 やりたい事の本質がいまいち分かりません。 2点確認します。 ひとつめ。 結局のところ今は [a] 型の乱数を返す関数を作りたいのでしょうか。 それとも、IO [a] 型の乱数を返す関数を作りたいのでしょうか。 はたまた、両方でしょうか。 ふたつめ。 開発環境では > f a b c psuedRand 本番環境では > ( return . f a b c ) =<< realRand という事でしょうか。 前者は純粋関数の式、後者は IO モナドを伴う式です。 これは、本番環境で IO モナドな関数を、開発環境では純粋関数で開発するという事ですよね。 開発環境を本番環境にする際には、後者の式を呼び出している外側の関数も、 純粋関数から IO モナドに書き換えるのでしょうか。 あまりお勧めしません。 本番環境で IO モナドな関数は、開発時も IO モナドで開発&テストした方が良いと思います。 環境が違ってもインターフェース(型シグネチャ)はそろえた方が良いです。 事情がおありなので、あくまで私は勧めないというだけですけど。 http://mevius.5ch.net/test/read.cgi/tech/1581326256/662
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.033s