タグ

haskellに関するoto-oto-otoのブックマーク (122)

  • template - 白のカピバラの逆極限 S.144-3

    Haskell はほとんど電卓代わりなのに、なぜか Haskeller にされている。好きな言語ですけれども、よく知らないのでストーカーのような。 それで、遅延評価のよいところを聞かれて、とりあえず、有名な fib を挙げる。 fib = 1: 1: (map (uncurry (+)) $ zip fib (tail fib))それに対して、C++template だと自動的にmemo化されるから高速だよね、という話が、でてくる。 #include<iostream> using namespace std; template<int n> class fib; template<> class fib<0>{ public: static const int x = 1; }; template<> class fib<1>{ public: static const int x

    template - 白のカピバラの逆極限 S.144-3
  • Quine: 自分自身を出力するプログラム

  • Haskellでmoduleを循環importする方法 - nushio's diary

    http://d.hatena.ne.jp/ABA/20060626 我が愛してやまないゲームを作りまくっているabaさんがHaskellに挑戦して悩んでいるので、ぜひとも応援すべく一緒に悩んでみました。 Main.hs module Main( main )where import CycleA main = interact $ ("Haskell is "++).unlines.map (hogeA.read).words CycleA.hs module CycleA( hogeA )where import CycleB hogeA x | x <= 0 = "cool!" | otherwise = "ultra " ++ hogeB (x-1) CycleB.hs module CycleB( hogeB )where import CycleA hogeB f x | x<

    Haskellでmoduleを循環importする方法 - nushio's diary
  • d.y.d.

    oto-oto-oto
    oto-oto-oto 2006/06/24
    Brainf*ckインタプリタ by Haskell
  • 無理して(圏論的)モナドをJavaで説明してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)

    どうも関数型の風(微風かな?)が吹き始めているようです(「技術者の技術教養は変化するのか(しないのか)」参照)。とはいえ、ほとんどの現場で実際に使われているプログラミング言語はせいぜいオブジェクト指向と称するものです。そんな状況ですから、中途半端な過渡的方便としては、“バカバカしくめんどくさい”記述になるのを承知で、現場的言語でファンクショナルな、いやもう一声、カテゴリカルな概念を説明するのも無意味ではないかもしれません(とか言ってみたが、単に興味位で実は無意味だろう、ダハハハハ)。 Listモナド それで今日の話題は、Listなんです。型パラメータXを付けたList<X>の形のものね。これは、「型Xを渡すと新たな型を創り出す機能」ですから、「型に型を対応させる関数」ともいえます。 このList<X>は、単に「型→型」対応を与えるだけでなく、独特の(しかし普遍性もある)構造と法則性を持

    無理して(圏論的)モナドをJavaで説明してみる - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • モナドの定義とか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    モナド関係で、KMさんと酒井さんにコメントをいただいて、僕もコメント欄に書き込みました。話が少しややこしくなったので、このエントリーで続きを。 コメント欄のやりとりで分かったことは、“Haskellのモナド”がモナドもどきではなくて、どうも、正真正銘の圏論的モナドであるらしいことです。であれば、Haskell知らずの僕が語ってもまー大丈夫かな、と。(メモ編に書くべき内容かもしれないけど。) Listは典型的モナドに思えないかも知れない 「Listモナドは典型的モナドだ」と僕は書いたのだけど、Haskellのヒトには違和感あるかもしれないですね -- Listはたいていのプログラミング言語でサポートされている平凡なデータ構造ですから。状態遷移とか入出力のような副作用を表現するモナドのほうが“モナドらしい”のでしょう、おそらく(憶測モード)。そうであってもなお、Listがやっぱり典型例なのは事

    モナドの定義とか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • 「モナド入門」への補足とか応答とか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    昨日の「モナド入門」、一晩のあいだにブックマーク数が70近くまで。タイトルでウケたのかしらね? しかしそれにしても、モナドなんかに(って語弊があるな)興味を持つ人がたくさんいるってのは驚きです。技術者の技術教養がほんとに変化しているのかな? それはともかく、ブックマーク・コメントに応える形で、補足をしておきます。 sshiさん:結論の三つ組とhaskellのモナドの対応がよくわからず。 [後日変更 date="20050421"]トラックバックいただいたnanakosoさんのエントリ(http://www3.atwiki.jp/nanakoso/pages/15.html)が、この問題を扱っています。当該エントリーの2回前から順に読むと、extの対応物を求めてラムダの森をさまよい歩く物語として読めます。(=<<)に出会った場面に僕も感動しました。[/後日変更] コメント欄でKMさんにご教

    「モナド入門」への補足とか応答とか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • さらに「モナド入門」に補足:記号だの図だの - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「モナドの定義とか」への追記で書こうかと思ったけど、ちょっと長いからエントリー起こします。 まず、「Kleisliトリプルの拡張オペレータ(extension; 僕はextと書いた)のHaskellでの対応物」の件は、nanakosoさんが“彷徨の末に落ち着いた経緯”を報告なさっているので、http://www3.atwiki.jp/nanakoso/pages/16.htmlをご参照ください。「>>=」と左右逆の形状の記号「=<<」で表現される高階関数は、完全にextと一致します。 右向きの矢印に見える「>>=」のほうは、右側オペランドだけをfixした状態(>>=f)がext(f)になりますが、その形状(左から右に向かう)の印象から、a >>= f で「引数aをfの拡張に送る/渡す」と読むのが心理的に自然な気がします(あくまで印象論ですが)。左から右へと書けることが>>=の重要な点かと思

    さらに「モナド入門」に補足:記号だの図だの - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • howm wiki - モナド

    This Wiki is frozen. Use GitHub for reports, discussions, etc. 訳あって Haskell 試中. モナドって, こんなイメージでいいんでしょうか? (参考ページ) やさしい Haskell 入門 (バージョン98) モナドのすべて haskell-jp ML MonadicContinuationPassingStyle (英語) 2ch Haskell スレ過去ログの 500 前後 慣れない内容は, 頭がしんどい 慣れない表現も, 頭がしんどい 両方いっぺんだと, もう○×△□… なので, ひとまず haskell は置いといて, scheme にしてみます. Intro. ふつうの「値」を包んで, ふわふわした謎な外見の何か(以下「ふわふわ」) にするラッパー ret (return のつもり)を考えよう. (ret 3)

    oto-oto-oto
    oto-oto-oto 2006/06/23
    ふわふわ。モナドをschemeで実装。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20060614

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • ヒビルテ(2006-06-15)

    日々の流転 トラックバックスパムを大量に喰らったので、トラックバックを一時的に無効にしています。 λ. どんな場合にポイントフリースタイルを使うべきか <URL:http://d.hatena.ne.jp/lethevert/20060613/p3> より。 私の場合、ポイントフリースタイルを使うのは圏論の概念に基づいて考えるとき。だから、射の結合, 関手, 随伴, etc と解釈できるものについてはそれぞれ射になるまで必要な引数を明示的に与える。 例 f . g map h either f g foldr c n unfoldr phi arr f >>> g 結局、関数型の値はポイントフリーにせずに明示的に受け渡すのがほとんど。もちろん、cartesian closed category で考えれば、関数型の値をポイントフリースタイルで受け渡すことに何の問題もないけど、それによってコ

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知