Haskellで副作用が使えることをなんて説明すればいいの?

5
mzp @mzp

「Haskellって副作用ないのにどうやってゲームとか作るの?」って質問にうまく答えれない。IOモナドのおかげで、副作用がなくても副作用があるプログラムが作れるんです、って言っても意味が分かんないよね

2009-12-09 17:51:31
SKS/ファントムの申し子 @repeatedly

ggrksしかないんじゃ… RT @mzp: 「Haskellって副作用ないのにどうやってゲームとか作るの?」って質問にうまく答えれない。IOモナドのおかげで、副作用がなくても副作用があるプログラムが作れるんです、って言っても意味が分かんないよね

2009-12-09 17:52:58
SM800i (あんどちん (安藤敏彦)) @andochin

@mzp IOモナドを説明すればいいと思います

2009-12-09 17:54:00
Masanori Ogino @omasanori

「モナドを使うと副作用をうまく隠蔽できる」もしくは「プログラミングHaskell読んで」 RT @mzp: 「Haskellって副作用ないのにどうやってゲームとか作るの?」って質問にうまく答えれない。IOモナドのおかげで、副作用がなくても副作用があるプログラムが作れるんです

2009-12-09 17:54:29
@snowclust

@mzp Haskellの内側には副作用は無いけれど、IOモナドを通じて外側の世界を変えることは出来る、みたいに説明するのかなーと思ってます

2009-12-09 17:55:53
たきたき, Ph.D. @taki__taki__

IOモナドの方に余計なことは閉じ込めてるんですよね。 RT: @snowclust: @mzp Haskellの内側には副作用は無いけれど、IOモナドを通じて外側の世界を変えることは出来る、みたいに説明するのかなーと思ってます

2009-12-09 17:57:37
@snowclust

@taki0313 自分の感覚ではどちらかというとIOモナドに閉じ込められていて、葦の髄から現実世界をつつきまわすというかそんな感じですね。traceとかunsafePerformIOとかあるので虚構とはいえ

2009-12-09 18:03:25
tana@人間らしく生きたい @tana_ash

@taki0313 自分では、「防護服(IOモナド)を着て外の世界を操作すれば自分は毒(副作用がある処理)にさわらなくていい」という感じで認識しているのですが・・・

2009-12-09 18:07:47
mzp @mzp

@snowclust IOモナドが副作用が閉じ込めるといえば、こんなキュートな画像があります。 http://howdyworld.org/io-monad.jpg

2009-12-09 18:24:43
@snowclust

lambdacats面白いですね (http://arcanux.org/lambdacats.html) RT @mzp IOモナドが副作用が閉じ込めるといえば、こんなキュートな画像があります。 http://howdyworld.org/io-monad.jpg

2009-12-09 18:34:43
Hideyuki Tanaka @tanakh

Haskellには副作用がないんじゃない。参照透明なだけだ。

2009-12-09 18:47:50
Nobuo Yamashita @nobsun

その説明がしっくりくるかもしれませんねぇ。 @tanakh Haskellには副作用がないんじゃない。参照透明なだけだ

2009-12-09 18:51:58
Nobuo Yamashita @nobsun

ただ、参照透明という言葉はもともとの意味を拡大解釈したり、別の概念で使われたりするので、これまた要注意!

2009-12-09 18:53:54