タグ

ブックマーク / www.sampou.org (2)

  • Programming in Haskell

    Programming in Haskell ページへようこそ このサイトについて このサイトは、Haskell でプログラミングを楽しむためのサイトです。 現在のところ、WiLiKi というWiKiシステムで運用されています。WiLiKiの使い方は、 WiLiKi:WiLiKi:リファレンスマニュアルを参照してください。 メイリングリスト 「Haskellプログラミングを楽しむための」メーリングリストがあります. MailingListのページをご覧ください. チャット 「Haskellプログラミングを楽しむための」チャット・ルームがいくつか存在します. ChatRoomのページをご覧ください. サイトマップ Introduction Haskell とは Definition 仕様と標準ライブラリ Tutorial チュートリアル やさしいHaskell入門 モナドのすべて なぜ関数プ

  • The State monad

    動機 純粋な関数型言語では値をその場で更新することはできません。それが 参照透明性を破壊するからです。このような状態をもつ(stateful)計算 をシミュレートするのによく使うイディオムは、一連の関数を通して、 状態パラメータを「一に繋ぐ」ことです。 data MyType = MT Int Bool Char Int deriving Show makeRandomValue :: StdGen -> (MyType, StdGen) makeRandomValue g = let (n,g1) = randomR (1,100) g (b,g2) = random g1 (c,g3) = randomR ('a','z') g2 (m,g4) = randomR (-n,n) g3 in (MT n b c m, g4) このアプローチは上手くいきますが、このようなコードは乱雑で、

    pcod
    pcod 2006/10/24
  • 1