タグ

2014年9月7日のブックマーク (2件)

  • 48時間でSchemeを書こう/変数と代入 - Wikibooks

    やっと、我々は便利なものを手にします。変数です。変数は評価の結果を保存したり、あとから参照出来るようにしてくれます。Schemeの中では、変数は新しい値でリセットすることができますし、またプログラムの実行によって、その値は変化します。これは、Haskellにとっては複雑に見えます。というのも、Haskellの実行モデルは、値を返す関数の上に構築されており、それらを変えることが出来ないからです。 にも関わらず、Haskellでは同じ状態をシミュレートする方法がいくつかあり、全てモナドに関係します。一番シンプルなのは、おそらくState モナドです。このモナドは、任意の状態をモナドの中に隠しておいて、舞台裏で周囲に渡します。貴方は、パラメータとして、状態のタイプをこのモナドに記入し、普通はdoブロックの中から、get と putの機能を使って、アクセスすることができます(もし関数がIntege

    todesking
    todesking 2014/09/07
    まさに知りたいことが書いてあった
  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

    todesking
    todesking 2014/09/07