タグ

ブックマーク / terazzo.hatenadiary.org (4)

  • Javaで継続モナド - terazzoの日記

    実践Scala読んでたら継続モナドのこと理解出来そうな気がして来たので実装してみた。Javaで。 やれそうな気がする時は、やれる! この辺がとても参考になった。 Haskellの継続モナド(Continuation Monad)を理解するポイント - よくわかりません howm wiki - モナド 簡単な説明 上のサイトにある説明、 継続といいつつ、Contが表すのは継続というより、CPSな関数。 これでようやく何をする機能なのか分かった。モナドというのは、基的に何かを包んで、それによって合成したり後から利用したりを可能にするものなんだけど、継続モナドの場合、包まれている「何か」は、CPS(継続渡し形式)で書かれた関数ということだ。 いきなり高度なサンプルしか無いのが分かりにくい点だと思うので、簡単な具体例を使いながら実装を考えていくよ。 継続渡し形式とは (※前に書いた「内部イテレー

    Javaで継続モナド - terazzoの日記
  • Re: nil に対するメッセージ送信が例外にならない - terazzoの日記

    お題: ・nil に対するメッセージ送信が例外にならない この仕様って、Objective-C以外でほとんど見かけたことがないのだけど、メリットに比べてデメリットが大き過ぎると思う。オブジェクトのメソッドチェインでこの仕様がたまに便利なことはあるけど、ほとんどの場合、バグが発現するタイミングが遅くなるだけに終わるというのが経験則。この辺、熟練のObjective-Cerはどう考えてるのか一度知りたいところ。 Objective-Cで不満に思うこと - kmizuの日記 もう10年以上仕事でObjective-Cは使ってないので、熟練というよりは只のロートルなんだけど、自分なりに考えた事を書いてみようと思う。 随分前の事を思い出しながら書くのと、憶測も交えているので、あまり正確な内容でない事はあらかじめ断っておきます。 Objective-Cの例外について まず、そもそもObjective-

    Re: nil に対するメッセージ送信が例外にならない - terazzoの日記
  • [Java]Java 59 bytes FizzBuzz - terazzoの日記

    お題: Java 30byte FizzBuzz - プログラマーの脳みそ ぎ「FizzBuzzが110文字で書けるなら、1文字2bitの文字コードで記述すれば220bitで記述できる。byteに直すと28byteになる」 な「無茶言うなあ」 せ「だいたい、1文字2bitじゃ文字が4種類しか扱えないじゃない」 じゃあ、まじめに「1文字単位でちゃんと符号化できる」という縛りなら、実際何bitならFizzBuzzが記述できるかやってみた。 方針 まず、FizzBuzz自体をなるべく短くする。 ↓ 使用されている文字の種類を少なくする。 ↓ ソースがなるべく短くなる符号化の方法を作る。 ↓ 文字コード作成。 結果 FizzBuzz(97文字)は35種類の文字で書けて、上手く符号化すると59バイトになるよ。 daphne:FizzBuzz terazzo$ ls -l src/z.java -rw

    [Java]Java 59 bytes FizzBuzz - terazzoの日記
  • プログラミングの本質は問題解決 - terazzoの日記

    発端: 【プログラミングとはどういうものかという質】とは何だと思い… - 人力検索はてな 力武健次――在野の孔明、問題解決の彼岸にみたプログラムの質 (1/8) - ITmedia エンタープライズ 自分もプログラマの仕事質は問題解決だと常日頃言ってるし、プログラミングの参考書を聞かれたら『方法序説 (岩波文庫)』とか『問題解決の心理学―人間の時代への発想 (中公新書 (757))』とか『ライト、ついてますか―問題発見の人間学』を薦めようと思っているぐらいだ。 問題解決というのは問題を解決する事だ。ではここで言う問題とはなんだろうか。受託開発などで職業としてプログラマをやっている場合、大抵は「自分と関係のある自分以外の人が目的や課題を持っていて、それを自分が(プログラムを作る事によって)解決する、」ということになるだろう。「他人の問題を解決する」というのがまずはスタート地点になる。

    プログラミングの本質は問題解決 - terazzoの日記
  • 1