タグ

ブックマーク / www.sampou.org (5)

  • グローバル変数が欲しい理由?

    グローバル変数が欲しい理由? グローバル変数が欲しい理由っていうエントリを見まして,忙しかったのでズイブン遅くなっちゃったけど,ちょっと考えてみます. 実はコメントしているnobsunが話をした同僚ってのは私です. で,nobsunは完成したプログラムを公開してこうすればいいんじゃない的なブログを書いてますけど, これでは多分相手はナットクしないんじゃねーかなーと思うわけ. だってグローバル変数を避けて実装すりゃ,そらそうでしょうよって思うだけだもの. そうじゃなくてnobsunをはじめとしてHaskellerがグローバル変数を欲しくならないのか, それとも禁欲的に自分に制約をかけてるだけなのかを示さなきゃならんと思うわけですよ. 確かにグローバル変数が欲しいとか引数に持ち回らなきゃいけないのってイマイチとか, どっかで聞いたようなセリフだよなぁ.(^^;) いや,言いましたよワタシも.

  • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

    モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基

  • モナドの物理的なアナロジー

    モナドの物理的なアナロジー モナドは非常に抽象的なエンティティなので、ときには、モナドそのもの について直接考えるより、モナドのアナロジーとしての具体的なシステムを 考えるのが有用です。この方法では、物理的な直観と経験を利用して、 計算モナドの抽象的世界を再考するための洞察を得られます。 ここで展開する特殊な物理的なアナロジーは機械化された組み立てラインです。 これは、モナドに完璧に合致するものではありません。— 殊にモナド 計算の高階性ある局面の幾つかでは。— しかし、初期段階では、モナドが どのように機能するかを理解するには十分役立ちます。 Haskell のプログラムをベルトコンベヤと考えることから始めましょう。 入力はコンベヤの端に載せられ、一連のワークエリアへと運ばれます。 各ワークエリアにおいて、ベルトコンベヤ上の物品になんらかの操作が 加えられ、そしてその結果はまたベルトコン

  • なぜ関数プログラミングは重要か

    John Hughes, Institutionen för Datavetenskap, Chalmers Tekniska Högskola, 41296 Göteborg, SWEDEN. rjmh@cs.chalmers.se この日語訳は原著者の承諾を得て山下がここに公開するものです。 この訳文についての、御指摘などは山下伸夫(nobsun .at. sampou.org)までおねがい いたします。 翻訳最終更新日 : 2011-09-17 原文 "Why Functional Programming Matters" 日語訳PostScript この論文は1984年以来何年ものあいだChalmers大学のメモとして回覧された。 1989年と1990年に幾分か改訂をしたのが[Hug89]と [Hug90]である。この版はもとのChalmer大学のメモ のnroff原稿をもとに

    hchbaw
    hchbaw 2007/10/10
  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    ジャンプ Scheme におけるシグナル機能のひとつはジャンプあるいは非局所制御 のサポートです。具体的にいいますと、Scheme ではプログラム中の 任意の場所へのジャンプをプログラムで制御することができる ということです。これは、条件節や手続き呼び出しによって可能な、 ずっと限定されたプログラム制御フローの形式と好対照をなしています。 Scheme の非局所制御オペレータは call-with-continuation という名の 手続きです。このオペレータをつかってどのように、ハッとさせるような 制御イディオムの数々を作りあげるのかをみていきましょう。 13.1  call-with-current-continuation オペレータ call-with-current-continuation はその引数 (これは一引数の手続きでなければなりません)を 「現在の継続(curren

    hchbaw
    hchbaw 2007/09/10
  • 1