タグ

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

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

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

  • 『本物のプログラマはHaskellを使う』読者の集い

    物のプログラマはHaskellを使う』読者の集い 参考:http://itpro.nikkeibp.co.jp/article/COLUMN/20060915/248215/ 連載記事筆者のshelarcyさん(白石さん)を囲んで何か楽しいことをする会です。 (a.k.a. 白石さんを質問攻めにしてみようの会) 参加表明はこちらへ → http://atnd.org/events/580 プログラム 開催の辞 (中略) 自由討論 / 懇親会 ネタとか 何やる? 連載記事のどれか3つとか4つくらいをピックアップしてみるとか?(参考↓) 第1回 関数型プログラミングの世界へようこそ 第2回 多相性(ポリモーフィズム)への理解を深める 第3回 mapからモナドを理解する 第4回 「取り出し可能な値」のみを持つListモナド 第5回 ListではなくMaybeを使う意義 第6回 局所的な「状

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

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

  • Haskellプログラミング環境のSetup

    Haskellプログラミング環境のSetup 以下は 2008/09/22 14:02:44 JST 現在の情報である。 ghc の HEAD の追っかけをするには HowTo:GHC-HEAD を参照のこと Haskellプログラミング環境のSetupUbuntu 8.04 上にHaskellプログラミング環境を作るコンパイラのインストールlibc6ghc 6.8.3 のインストール開発用ツールおよびライブラリ群GNUの開発ツール群ドキュメント系のライブラリ群分散バージョン管理システム字句解析器生成器 Alex構文解析器生成器 HappyエディタEmacs 23haskell-mode Ubuntu 8.04 上にHaskellプログラミング環境を作る Ubuntu 8.04 をインストールした直後の状態からHaskellプログラミング環境を作る。 Ubuntu には ghc6 というパ

    nanakoso
    nanakoso 2008/10/30
    Haskell環境をUbuntuに構築
  • Haskell 98 Syntax

    (上付文字で書かれた)優先順位のインデックスがついた非終端記号のグルー プがいくつかある。同様に非終端記号 op、varop および conop には二つのインデックスがつくことがある。文字 l, r または n はそれぞれ、左結合性優先度、 右結合性優先度、非結合性優先度をあらわしています。優先度変数 i の範囲は、0 から 9 で、結合性変数 a のとりうる範囲は {l, r, n} である。したがって、たとえば、

  • Trace

    Debug.Trace を使う nobsun(2007/07/04 10:53:31 JST) Haskellでもprintfデバッグのようなことをしたいことがある.このとき Debug.Trace モジュールにある trace という関数が便利である. trace :: String -> a -> a この関数は値としては第二引数をそのまま返す関数なのだが,その値が評価さ れたときにコンソールに第一引数で与えた文字列を表示するというののである. たとえば, add :: Int -> Int -> Int add x y = trace "'add' called" (x + y) と定義して add 1 (2*3) を評価すると *Main> 1 + add 2 (3*4) 'add' called 15 となる. ジョイントにながれるデータを見る Haskellのプログラミングでは

  • WWW.SAMPOU.ORG

    Nobsun.github.com : nobsun's pages

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

    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原稿をもとに

  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    A practical introduction to the programming language Scheme

  • 1