タグ

2008年1月2日のブックマーク (3件)

  • Haskellの継続モナド(Continuation Monad)を理解するポイント - よくわかりません

    モナドのすべての継続モナドのところが簡潔で、概念とかもあまり明示的に説明してなくて理解に苦労したので、ポイントをメモ。誤りなど、乞うご指摘。 newtype Cont r a = Cont { runCont :: ((a -> r) -> r) } instance Monad (Cont r) where return a = Cont $ \k -> k a (Cont c) >>= f = Cont $ \k -> c (\a -> runCont (f a) k) 概要的なこと 継続といいつつ、Contが表すのは継続というより、CPSな関数。*1 CPSな関数は、引数に関数をとり、自分の仕事の最後でその関数(継続)を呼ぶ。 CPSな関数に、継続として別のCPSな関数を渡す、その別のCPSな関数に継続としてさらに別のCPSな関数を渡す、…の連鎖(CPSな関数のネスト)が、全体として

    Haskellの継続モナド(Continuation Monad)を理解するポイント - よくわかりません
    kzfm
    kzfm 2008/01/02
  • Haskellの入出力

    参照透過性と遅延評価 純粋遅延関数型言語に入出力を導入する場合には、 参照透過性や遅延評価とどう折り合いをつけるか、 が問題になる。 参照透過性(Referential Transparency) 「参照透過性」の正確な定義は知らない。 けれど、だいたい 「等しいものを別の等しいものに置き換えられて、 置き換えての全体の結果が変わらない」 という性質を「参照透過性」と呼ぶ。 (「代入可能性の原理」とどう違うのかは、よく判らない) なんでこの性質を参照透過性と呼ぶのかも正確な所は判らないけど、 たぶん次のような事が元になっているのでは、と予想している (以下しばらく、題(入出力の話)とは関係ない)。 クワインは「指示と様相」(「論理的観点から」に収録)で、 だいたい次のような事を書いている。 名前(とか項とか)が単に対象を指示するものとして現れている場合を 「純粋に指示的(purely r

    kzfm
    kzfm 2008/01/02
  • Hanazono fonts

    English document is below. (click to download Hanazono font at osdn.jp) 下面有中文。(在osdn.jp下载“花园字库“) 現在公開されている花園明朝:2017年09月04日版 ダウンロード 花園明朝(HanaMin) (osdn.jp) 花園フォントについて このフォントは自由かつ無償の漢字フリーフォントです。非漢字は一部のみ含まれます。現在は明朝体フォント1ウェイトが提供されています。フォントの生成にはKAGEシステム、Clipper, FontForgeおよびTTXを利用しています。 収録されているグリフはすべてグリフウィキに登録されているデータを利用しています。このデータは、グリフウィキに登録ユーザーとして、あるいは匿名ユーザーとして漢字字形データを登録・改良してくださった多数の方々によるボランティアの活動から成

    kzfm
    kzfm 2008/01/02