タグ

*haskellとプログラムに関するSiroKuroのブックマーク (6)

  • 遅延評価 - 西尾泰和のはてなダイアリー

    プログラミング言語で実装できる 自然言語で他の人にわかるように説明できる 後者の方が難しいわけですよ。だから、id:amachangは遅延評価を(実装できているから)理解しているんだろうとは思うけど、日語での説明を聞いてもなにが言いたいのかがよくわからないんだ。 - 「学ばないでプログラムを書くのは危うい、 プログラムを書かずに学ぶのは理解が浅い」 という趣旨の英文ってなんだっけ。

    遅延評価 - 西尾泰和のはてなダイアリー
    SiroKuro
    SiroKuro 2008/02/03
    『単に項を書き換えているだけ』って説明だとダメなのかなぁ
  • Haskell Hackathonやりましょう - 西尾泰和のはてなダイアリー

    Haskel Hackathlon やりたいね! - yukobaの日記 ちょっ、ご飯べながらやろうって話していたのはamachangの「yacc作りたい」だったはずなのに、なぜかHaskellを作ることになってるっ!しかも場所がサイボウズラボになってる! とりあえず Haskell 98 Syntax 「関数プログラミングのアプローチ」の検索結果一覧 - lethevert is a programmer(Pythonでモナドを実装とか) 僕はハッカソン前にとりあえずこれを写経しよう LR法 http://ja.wikipedia.org/wiki/LR%E6%B3%95 僕とamachangはこれを見てyaccを実装するところからはじめる(ぇ - ちょ、なんかメンバーがすごいことになってる(><) 勝てそうにない(><) Schemeをのんびりと手直ししようかと思っていたのに激動だ

    Haskell Hackathonやりましょう - 西尾泰和のはてなダイアリー
  • 純粋関数型言語で定義できない純粋な関数 - sumiiのブログ

    並列論理和の続きで真のエキスパート氏から教えていただいた話(の劣化コピー)。並列論理和は、逐次言語では定義できないけど「計算可能」な(並列言語では定義でき、領域理論でも連続になる)関数でしたが、その親戚というか兄弟です。 MLで(実はHaskellでも良いのですが)、unit→unit型の純粋な(=副作用のない)関数は、 let f1 () = () let rec f2 () = f2 () の2つがあります。ただし、たとえ内部の実装が異なっても、外部から観察できる振る舞いが同じ関数は同じとみなします。たとえば let f1' () = try (raise E) with E -> () なるf1'はf1と同じ(かつ純粋)とみなします。 以下、「関数」としてデフォルトでは「振る舞いが純粋な関数」だけを考えることにします。すると、上と同様に、(unit→unit)→unit型の関数は l

    純粋関数型言語で定義できない純粋な関数 - sumiiのブログ
  • Code Snippets - reduce(l|r)を実装汁! : 404 Blog Not Found

    2007年05月28日03:30 カテゴリ一日一行野郎 Code Snippets - reduce(l|r)を実装汁! FizzBuzzにももうええかげん傷してきたので、次のネタをないかと思ったら、yuguiさんがtwitterで私を登録したので、ごぶさた〜と思ってblogを見に行って格好の素材を(再)発見したという前回までのあらすじ。 inject + Symbol#to_proc = fold @ 2007年05月 @ ratio - rational - irrational @ IDM (1..10).inject(&:*) => 3628800 うーむ。素晴らしい。 reduce(l|r) というわけで問題。reducelとreducerを実装せよ。制限時間はあわせて10分。ただし、reducelとreducerは、Haskellにおいて次の挙動を示すものとする。 *Main

    Code Snippets - reduce(l|r)を実装汁! : 404 Blog Not Found
  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
  • Parsec, 高速なコンビネータパーサ

    文書は次に掲げる URL で示される文書の部分的な邦訳です。 http://www.cs.uu.nl/people/daan/download/parsec/parsec.html Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@cs.uu.nl, http://www.cs.uu.nl/~daan Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@

  • 1