タグ

haskellに関するwatarumのブックマーク (8)

  • 関数型プログラミングは本当に難しいのか

    2012年9月初頭、東京・某所で開催された「函数プログラミングの集い 2012」というイベントに参加した。 このイベント、文字通り、「Haskell」や「Scala」「OCaml」「F#」「Erlang」といった関数型プログラミング言語に関するイベントなのだが、その午前中の講演を聞いて、筆者は少々面らった。 関数型プログラミング言語などの研究者である電気通信大学 准教授の中野圭介氏による講演だったのだが、同氏は講演が始まるや否や「これから『爆弾』を投下します」と前置きし、こう述べたのだ。 「『関数型言語』を使ってはいけない」と。 関数型プログラミングに関するイベントで、いきなり「使うな」という発言は、確かに衝撃的である。筆者だけかもしれないが、この発言の後、一瞬、会場が凍り付いたようにも見えた。一体、どういうことか。 実はこの発言、「使うな」という部分に重点があるのではなく、「関数型言語

    関数型プログラミングは本当に難しいのか
    watarum
    watarum 2012/10/03
    煽ってるけどLispも煽って欲しい。
  • 閉鎖済み - したらば掲示板

    この掲示板は閉鎖されています。 もしかすると、したらば掲示板引越し先や避難所があるかもしれません。 したらば掲示板

    watarum
    watarum 2011/10/31
    EEEEEEEEEEEEEEEEEEEEEEEEEEE!!!!
  • カリー化 - Wikipedia

    カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。クリストファー・ストレイチーにより論理学者ハスケル・カリーにちなんで名付けられたが、実際に考案したのはMoses Schönfinkelとゴットロープ・フレーゲである。 ごく簡単な例として、f(a, b) = c という関数 f があるときに、F(a) = g(ここで、g は g(b) = c となる関数である)という関数 F が、f のカリー化である。 関数 f が の形のとき、 をカリー化したものを とすると、 の形を取る。uncurryingは、これの逆の変換である。 理論計算機科学の分野では、カリー化を利用すると、複数の引数をとる関数を、一つ

  • 射 (圏論) - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "射" 圏論 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2009年7月) 数学の多くの分野において、型射あるいは射(しゃ、英: morphism; モルフィズム)は、ある数学的構造を持つ数学的対象から別の数学的対象への「構造を保つ」写像の意味で用いられる(準同型)。この意味での射の概念は現代的な数学のあらゆる場所で繰り返し生じてくる。例えば集合論における射は写像であり、線型代数学における線型写像、群論における群準同型、位相空間論における連続写像、… といったようなものなどがそうである。 圏論における射はこのような概念を広く推し進め、

  • モナド (圏論) - Wikipedia

    数学の一分野である圏論において、モナド(英語: monad)とは、モノイドに似た構造を備えた自己関手である。モナドは半順序集合上の閉包作用素の一般化や、双圏(英語: bicategory)上のモノイドに似た構造として捉えられ、随伴関手(または随伴1-セル)と強い関係を持つ。双対概念はコモナド(英語版)である。 歴史的に、この構造は「双対標準構成(英: dual standard construction)」「トリプル(英: triple)」「モノイド(英: monoid)」「トライアド(英: triad)」と様々な呼称で呼ばれており、これについてソーンダース・マックレーンは『圏論の基礎』の中で「不幸にも「トリプル」という語がこの意味でしばしば用いられたことが無用な混乱を拡大した」と記している[1]。「モナド」という語彙はライプニッツ(モナド (哲学) を参照)からの借用であるが、これを誰が

  • The monad laws

    モナド則 三つの基則 「失敗」は付けたし 出口はない Zero と Plus 要約 このチュートリアルではいままで、技術的な議論を避けてきました。しかし、 モナドについて考えるべき技術的な要点が2、3あります。モナド演算は、 「モナド公理」として知られている、いくつかの法則群に従わなければ なりません。これらの法則は Haskell のコンパイラが強制するものでは ありません。したがって、すべての Monad のインスタンスと 宣言したものが、これらの法則に従うことを保証するのはプログラマ自身です。 Haskell の Monad クラスは、まだ見ていませんが、最小限の定義 以上にいくつかの関数を含んでいます。結局、多くのモナドは標準のモナド則 以外の規則にも従っています。Haskell のクラスにはこうした拡張されたモナド をサポートするためのものがあります。 三つの基則 モナドの概

    watarum
    watarum 2011/09/28
    ほらよ #rpscala
  • OCaml の let と let rec はなぜ別扱いになっているのか、決定版、もしくは OCaml 暦十何年だったか忘れたけど仕事で Haskell を一年使ってみた - camlspotter’s blog

    はじめに断っておくが、全部Pros/Consのあるデザインチョイスなので、こうじゃなきゃいけないってことではない。ただ、 OCaml はこの選択をした、そいう事だ。 前回の「経験15年の OCaml ユーザーが Haskell を仕事で半年使ってみた」 http://d.hatena.ne.jp/camlspotter/20101212/1292165692 のような易しい文章ではないのでわからない人はとことん判らないだろう。まあ勘弁して欲しい。 あと、面倒だろうが、読む人は全部常体を敬体にして最後に「と思います」をつけて読んでくれ。ください、と思います。 Shadowing は便利であると思っている OCaml の let は非再帰なので以前定義された名前に別の値の束縛をオーバーライドできる。OCaml の人はこれが便利だと思っており皆普通に使っている。詳しくは http://d.hat

    OCaml の let と let rec はなぜ別扱いになっているのか、決定版、もしくは OCaml 暦十何年だったか忘れたけど仕事で Haskell を一年使ってみた - camlspotter’s blog
  • 関数プログラミング入門

    2. 自己紹介 • 田中英行 (@tanakh, id:tanakh) • TopCoder (id:haskell-master) • Haskell Lover(not master!) • ICPC2004-5 世界大会 • Preferred Infrastructure勤務 – ICPC OB多数在籍 – アルバイト・インターン等、 興味のある方はご連絡を! 3. 日の内容 • 関数プログラミング入門 – 参照透明 – クロージャ – 遅延評価 – リスト処理 – etc… • 関数プログラミングにまつわる話題 – 永続データ構造 – 並行計算 – ソフトウェアトランザクショナルメモリ(STM)

    関数プログラミング入門
  • 1