タグ

ブックマーク / bellbind.hatenadiary.org (2)

  • Haskell: Control.Monad.Stateメモ - ラシウラ

    機能一覧や例は以下にあるけど、これだけで理解するのは正直難しい。 http://www.haskell.org/ghc/docs/6.4.1/html/libraries/mtl/Control-Monad-State.html 理解しにくそうなところを意識して書いてみる。 なにをするものか: 関数の中で上から順番にデータを更新していく処理を書きたいとき使う。だけではあるけど。 まずはimport Control.Monad.Stateを行ってState型を使い、 State stateType resultTypeという型で状態更新を利用するstateApp関数を自由に実装する(ドキュメントの例は戻り値型が同じで紛らわしいので型をStringに変えてます。$はあえてすべて()にしてます): import Control.Monad.State tick :: State Int Stri

    Haskell: Control.Monad.Stateメモ - ラシウラ
  • 「Featherweight Javaのための漸進的型付け」を読む - ラシウラ

    http://www.nue.riec.tohoku.ac.jp/ppl2008/program.html より http://www.nue.riec.tohoku.ac.jp/ppl2008/proceedings/1-09.pdf 「漸進的型付け」というのはgradual typingのこと。Top Type(意味的には、全オブジェクトの具体クラスとして成り立つ型とでもいえばいいかな)である?型を導入した型システムのこと。 この論文で定義してるモデルFJ?はFeatherweight Javaをそれで拡張したもの。 Featherweight Javaは、メソッドの中が1つの式のみで、メソッドは引数と戻り値が必ずひとつづつある、などで制限したJavaの意味論モデル。そのGenericsバージョン(同一論文)は、Java 5のGenericsの意味論にもなっている。 Siek氏が、ST

    「Featherweight Javaのための漸進的型付け」を読む - ラシウラ
  • 1