タグ

Programmingと哲学に関するbeth321のブックマーク (2)

  • 努力、忍耐、謙遜

    Diligence,Patience,and Humility 努力、忍耐、謙遜 Larry Wall ラリー・ウォール Translation by Akira Kurahone 我われのPerlコミュニティでは、格言を好んで使う。そういった格言の一つに、「物事のやり方は一つではない」と言うのがある。この格言はPerlコミュニティの真理である。また、Perlそのものにも当てはまる。そして、書の各章で明らかにされるように、オープンソースコミュニティにも当てはまる。私は、ここでオープンソースの効用のすべてを語るつもりはない。それは、英語が役に立つ理由を説明しようとするようなものである。ただ、Perlの現状と今後についてなら多少は語れると思う。 こんな格言もある。「プログラミングの三大徳目は、無精、短気、傲慢である」。Perlの偉大なプログラマたちは、それらの徳目を信奉している。オープンソー

  • モナド教

    前提知識:モナド モナドを理解せずともモナド教を信ずることは出来ますが,理解していればより深く納得できるでしょう. 操作 :: 型 -> 型 は,"型"から"型"へ写す"操作"の存在を表します. モナドの文脈 m が必要とする2つの操作: return :: a -> m a で,値を保ちつつ文脈 m の中に入れ込むことが出来ます. (=<<) :: (a -> m b) -> (m a -> m b) で,「値を文脈に入った別の値へ写す操作」を「文脈に入った値を同じ文脈に入った別の値へ写す操作」に変換します. id :: a -> a は値をそのまま返す操作です. id を =<< で変換して得られる操作 join :: m (m a) -> m a で,二重に文脈に入った値を一重の文脈に入った値に戻すことが出来ます. 文脈の値から生の値を取り出す型 m a -> a を持つ操作は,一般

  • 1