タグ

ブックマーク / www.timedia.co.jp (3)

  • Vimで心地良い自動インデント設定を書くためのポイント9個 | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 Vimではデフォルトで500種類以上の言語をシンタックスハイライトすることができます。 また、シンタックスハイライト以外の設定も充実しており、 デフォルトでは約100種類の言語で専用の自動インデントが行われるようになっています。 この約100種類は普段使用する範囲ならば何の問題もないのですが、 人口比率の少ない言語で何かを書こうとしたら デフォルトでは専用インデント設定がなかったというケースは案外あります。 文法がC系の言語であれば'smartindent'で誤魔化すことができるのですが、 人口比率が少ない言語は大抵の場合 'smartindent' が使えない言語です。 という訳で独自の自動インデントの設定を書く必要が出てきました。 しかしどう書けばよいのでしょうか。 解決方法 例として Haskell 用のインデント設定を書くことにしましょう。 Haskellはメジャーな言語では

    Vimで心地良い自動インデント設定を書くためのポイント9個 | Webシステム開発/教育ソリューションのタイムインターメディア
  • モナドを実装する(Vim script編) | Webシステム開発/教育ソリューションのタイムインターメディア

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

    モナドを実装する(Vim script編) | Webシステム開発/教育ソリューションのタイムインターメディア
  • モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア

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

    モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア
    craccho
    craccho 2011/03/31
    わかりやすい
  • 1