タグ

haskellとmonadに関するHashのブックマーク (4)

  • jQueryはモナドだ - id:anatooのブログ

    この記事はjQuery is a Monad | Important Shockという記事の勝手訳です。 追記1: bonotakeさんが補足記事を書いてくれています → JQueryがモナドかどうかとか - たけをの日記@天竺から帰ってきたよ 追記2: hirataraさんが補足記事を書いてくれています → jQueryは当にモナドだった - 北海道苫小牧市出身のPGが書くブログ Haskellプログラマーは誰しもがモナドに関する各々のチュートリアルを書くと言われる。というのも、一度モナドの定義とその可能性を理解すれば、モナド全体を囲む神秘性に挑戦して打ち破るのが容易になるからだ。門外漢からすれば、モナドはHaskellを真に理解することを妨げる不可解な障壁だ。モナドはとても不適当な名前で呪われていて、一風変わった文法を持ち、一度に何もかもやってしまう様に見える。しかしながら、その動き

    jQueryはモナドだ - id:anatooのブログ
  • モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア

    はじめに 過去に私がHaskellを学び始めた時、 真っ先に疑問に思ったことはモナドの存在だった。 当時は全くと言っていいほど理解できなかったが、 最近Haskellを学び直して ようやく理解することができた(と思う)。 という訳で、現時点での私のモナドへの理解を示すためにこの記事を書く。 ここではモナドの質が何なのか概要を示す。 正確な説明は数多あるモナドについてのチュートリアルを参照されたい。 Hellow World問題: IO, Monad, fail 新しい言語を学ぶ時、まず間違いなくHello Worldを書くだろう。 HaskellでHello Worldを書くとこうなる: この1行だけを見ると普通の命令型言語と大して変わらないように思える。 ところでHaskellには強力な型推論がある。 そのため型宣言を省略しても処理系がよしなに解釈してくれる。 ただ普通はコードの意図す

    モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2012/08/05
    "Haskellでは空気のようにモナドを使うが、これは言語として陽にモナドを取り扱うことができること..." "モナドの本質は「本当にやりたいこと」の連鎖と「裏方作業」の隠蔽だ。" "jQueryでは. Haskellでは>>="
  • モナドを実装する(Vim script編) | Webシステム開発/教育ソリューションのタイムインターメディア

    発端 モナドの正体が分かると、 次はモナドを実装してみたくなるものです。 前回は試しに Python でモナドを実装してみましたが、他の言語でも実装できないことはありません。 ただクロージャや部分適用が簡単に使えない言語では質的でないところで苦労する羽目になるので、前回は Python を使いました。 という訳で今回は “エディター界のPHP” でお馴染みの Vim script でモナドを実装することにしましょう。 なお、今回作成した Vim script によるモナドの実装は GitHub で公開中です。 方針 最初に Maybe のようなモナドの具体例を実装するためのフレームワークを作っておいて、次に Maybe の実装例を示すことにしましょう。 Vim script はプログラミング言語として見る分には貧弱ですが、 dictionary (他の言語で言うところのマップ/ハッシュテ

    モナドを実装する(Vim script編) | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2012/08/05
    VimscriptでMonadを実装
  • A Gentle Introduction to Haskell: About Monads

    やさしい Haskell 入門 (バージョン 98 ) back next top 9  モナドについて はじめて Haskell にふれる多くのひとにとって モナド ( monad ) の概念は謎です。Haskell ではモナドに頻繁に出会います。 I/O システムはモナドによって構成されていますし、モナドのための特別な構文 ( do 式)も用意されています。また、モナドのためだけのモジュール も標準ライブラリに含まれています。このセクションではモナドを使ったプログ ラミングについて詳細にみていきましょう。 このセクションは他のセクションにくらべるとおそらく「やさしい」というわけ にいかないでしょう。ここでは、モナドをふくむ言語の特徴を示すだけではなく、 もっと壮大な絵を明かにしようとおもいます。なぜモナドがこれほど重要なツー ルであり、どのようにこれを使うか、ということです。だれにとっ

    Hash
    Hash 2012/08/05
    モナドの説明
  • 1