タグ

2009年6月6日のブックマーク (2件)

  • Google Wave アーキテクチャ

    原文(投稿日:2009/6/1)へのリンク Google Waveは3つの要素で成り立っている: ツール、プラットフォーム、そしてプロトコルである。そのアーキテクチャの核は、並行制御をサポートするための理論的フレームワーク、オペレーショナルトランスフォーメーション(OT=Operational Transformation)である。 まず最初に定義が必要だろう。Google Waveとは: (ウェーブと呼ばれる)ホストされたXMLドキュメントをベースとした、並行に行われる変更と遅延の少ない更新をサポートする、新しいコミュニケーションとコラボレーションのプラットフォームである。 ツール Google Waveは「電子メールプログラム+インスタントメッセンジャー+協調的な文書共有と編集ツール」である。クライアントサイドではJavaScriptHTML5を使っており、Chrome、Firefo

    Google Wave アーキテクチャ
  • 遅延評価とIO - あどけない話

    僕は今、プログラマーとしての幸福感に満たされている。遅延評価を習得できたと思えるからだ。 遅延評価 なぜ関数プログラミングは重要かには、遅延評価の利点を以下のように説明している。 停止条件はループの体とは切離すことができ、強力なモジュール化が可能となる。 例として載っている「ニュートン-ラプソン法による平方根」は、若干難しいので、簡単な別例を示そう。Haskell には、第一引数の数だけ、第二引数を繰り返す関数 replicate がある。 > replicate 3 'a' → "aaa" これを普通に実装するとこうなる。 replicate 0 c = [] replicate n c = c : replicate (n-1) c Haskell 以外で実装する場合、きっとループを使うだろう。ただ、ここでは再帰かループかは問題ではない。 問題は、「結果を作る仕事」と「終了条件を判断

    遅延評価とIO - あどけない話