タグ

ブックマーク / phaendal.hatenablog.com (2)

  • Scheme(Gauche)で型推論を書いてみる - レガシーコード生産ガイド

    2016 - 09 - 17 Scheme(Gauche)で型推論を書いてみる Scheme Hindley-Milnerの 型推論 アルゴリズム と、型クラスの実装に興味があるのですが、どこから手をつけていいのかさっぱりわかりません。とりあえず簡単に読めるコード無いかな、と探したところ JavaScript でのHM 型推論 実装を見つけました。 Type Inference in JavaScript コードにはしっかりドキュメントとしてのコメントがついていて非常にわかりやすいです。 ブラウザ上で見ると さらにわかりやすい。(この表示たまに見かけるけどめちゃくちゃ見やすくていいですね) This is based on Robert Smallshire's Python code. Which is based on Andrew's Scala code. Which is bas

    Scheme(Gauche)で型推論を書いてみる - レガシーコード生産ガイド
    teppey
    teppey 2017/07/01
  • 参照を書き換えないやり方でゲームを作るときの問題点 - レガシーコード生産ガイド

    2015-04-16 参照を書き換えないやり方でゲームを作るときの問題点 ClojureScriptでローグライクを作る 2 - レガシーコード生産ガイドでわかってきた(自分の)問題点を少し整理して書いておく。 参照透過性、とか純粋関数型言語のスタイルで、って言っていいのかな、イミュータブルなデータでゲーム全体を表す状態を表現して、それに関数適用した新たな状態を描画して、その新たな状態に関数を……というスタイルでローグライクを書いている。 いくつか(自分の力不足による)問題が出てきたんだけど、その一つが「参照を書き換えるやり方を遠回しにやってるだけ」になってしまってること。 前提 問題を単純化して、フロア、エンティティ、エンティティのリストというデータがあるとする。 フロアには碁盤の目のように、二次元にエンティティが配置されている エンティティには地形とキャラクターなどの種類がある 地形の

    参照を書き換えないやり方でゲームを作るときの問題点 - レガシーコード生産ガイド
    teppey
    teppey 2015/04/19
  • 1