Welcome to the FoNC wiki. FoNC (aka Idst, Jolt, COLA, the SODA languages, etc.) is an ongoing project to create a programming language substrate and springboard for investigating new computing paradigms. Everything in it is late-bound, the intention being that any paradigm (existing or yet to be invented, formal complexity notwithstanding) be easily and efficiently mapped to it and made available
In this article, which is based on Chapter 1 of the book, Programming in Scala, you'll get an overview of the Scala language and insights into its design. The name Scala stands for “scalable language.” The language is so named because it was designed to grow with the demands of its users. You can apply Scala to a wide range of programming tasks, from writing small scripts to building large systems
(ちょっとだけ追記しました。その他1/25のあたりも見てみてください。) "Can programming be reinvented?"というタイトルでの発表。東工大と東大で似たような発表をしたのだが、ストーリーラインが比較的新しいため、先にやった東工大での発表には反省点がいろいろあり、それが東大での発表に生かされた形になったのは否めない、かもしれない。以下は、かなり再現性の低いメモ。詳細はさらに聞いてください。「私」はもちろんAlan Kayを指します。 近所の人から、「なんで新しいコンピュータのほうがWindowsの起動やMS Wordの起動が遅いの?」、「大きいディスクがついているはずなのに、なぜ使える容量が少なくなるの?」、「アップデートをしたら、何で再起動しなくてはいけないの?」という質問をされる。なかなか良い質問である。 私自身も、コンピュータに関する疑問がある。「なぜ、コン
ITアーキテクト誌2008年Vol.17最新号 http://www.itarchitect.jp/mag/ は 『クラウド・コンピューティング』とともに『ITアーキテクト必読!ビジネス・センスを養うための20冊』 を特集しているのでぜひ参考にして欲しい。わたしもアンケートに答えたのだが、複数人のアンケートの集計だからしかたないとはいえ、わたしが提案した10冊のうちの2冊しか反映されなかった(2.モジュール化は「デザイン・ルール」にカスッているので3冊反映ともいえるが)。そこでせっかくなので、ここにそれら10冊のリストと簡単な紹介を掲載することにした。 一般的ないわゆるビジネス書は敢えて外し、理系という視点・根源的な洞察という視点を打ち出してあります。他の方が選らばなさそうな、しかしエンジニアにとって取り付きやすいしかし重要な『ビジネス書』を選択させていただきました。どれも、ソフトウェアエ
最近、マネー、お金とはいったい何なのか?ということがしきりに気になり いろいろ本を漁っている。せっかく読んだので自分用のメモ。 クレジットカードって1958年の実験で始まった結構新しい存在なんですね。 最近のお財布携帯などのいわゆる電子マネーとの違いやそもそもの仕組みも歴史的な経緯を見るとよくわかりました。面白い。 森元孝:「貨幣の社会学 経済社会学への招待」東信堂2007 ○クレジットカードの誕生 クレジットカードは、各クレジット会社の会員になることで、そのカードの信用を頼りに、先延ばし払いの決済機能を使用することができる仕組みであり、電子マネーや電子財布など現金同様の決済機能をもつものとは異なるものである。 歴史的には、1958年バンクオブアメリカがカリフォルニア州フレズノの人々に突然6万枚のクレジットカードを送り付け、この仕組みを根付かせようとしたのが始まり。それ以降、無差別にカード
ちりとてちん。 もう6月ですね。梅雨入りですね。Scalaの季節ですね。 ということで、Scala勉強会をmixiのScalaコミュとの合同企画として行います。 Scalaに関心のある方であれば、どなたでもご自由に参加できます。 ====== 日時: 2008 6/13(金)19:00-21:00その後懇親会 場所: 新宿三井ビル34階 豆蔵トレーニングルーム(50人くらいは収容可) 参加無料(懇親会は割り勘) テーマ(予定) 1.神崎さん:Scalaを使ったSwingベースプログラムの紹介とデモ 札幌在住のScalarである神崎さんが、UMLモデリングツールで作成した要件定義を検証するツールをScalaで作成しました。SwingをそのままScalaから使っていますのでScalaのJavaとの親和性の高さの紹介とDBアクセスなどプログラム中でのScalaならではのテクニックをご紹介します。
参照透過性と遅延評価 純粋遅延関数型言語に入出力を導入する場合には、 参照透過性や遅延評価とどう折り合いをつけるか、 が問題になる。 参照透過性(Referential Transparency) 「参照透過性」の正確な定義は知らない。 けれど、だいたい 「等しいものを別の等しいものに置き換えられて、 置き換えての全体の結果が変わらない」 という性質を「参照透過性」と呼ぶ。 (「代入可能性の原理」とどう違うのかは、よく判らない) なんでこの性質を参照透過性と呼ぶのかも正確な所は判らないけど、 たぶん次のような事が元になっているのでは、と予想している (以下しばらく、本題(入出力の話)とは関係ない)。 クワインは「指示と様相」(「論理的観点から」に収録)で、 だいたい次のような事を書いている。 名前(とか項とか)が単に対象を指示するものとして現れている場合を 「純粋に指示的(purely r
不動点オペレータY 階乗関数は、 (define fact (lambda (n) (if (= n 0) 1 (* n (fact (- n 1)))))) のように、再帰的に定義できる。 再帰的定義を行なう場合はdefineやletrecを使うけど、 代わりにletを使うと再帰的定義はできない。 defineやletrecをどうしても使いたくないなら、多少工夫がいる。 例えば、factの引数を増やすという方法がある。 (let ((fact (lambda (self n) (if (= n 0) 1 (* n (self self (- n 1))))))) (fact fact 10)) ⇒ 3628800 (中略) 不動点オペレータYを使うと次のように書ける。 (let* ((Y (lambda (g) ((lambda (s) (g (lambda (x) ((s s) x))
この本を買ったのは、ラジオ(ほかでもないNPR)で十年に一度の駄作のように語られていたからだ。だが、実際に愚かだったのは評価のほうだった。Supercapitalismはきわめて聡明で経験豊富なリベラルによって書かれたじつにすばらしい著作だ。「腐敗」必読資料の最初の一冊に選んだ。 この本のおもしろさを示すヒントを挙げるなら、リベラルである著者が、法人所得税の廃止を主張し(かわりに株主が支払うべきである)、企業は従業員に健康手当を与えるべきではない(税制上の優遇は国の経済にとって大きな歪みであり、国民保健制度が1400億ドル近くの支出を要しながら非効率的で効果が薄い原因となっている)と論じていることだ。どちらの提案も理にかなっており、著者Reichがただ既存の主張を繰り返しているのではなく考えていることを告げている。そしてバークレーの教授であり、クリントン政権で労働長官を務めた著者のように経
先日、Erlang分散システム勉強会で、最近私が追っている CouchDB というオープンソースのドキュメント指向分散データベースについて紹介してきました。発表資料をおいておきます。 ドキュメント指向データベース CouchDB(PDF) 分散システムでしかも Erlang というニッチっぽい勉強会でしたが、30人の参加者が一瞬で集まり、非常に熱い会でした。私も自分の好きな話を好きなように話してしまい、参加者のみなさんはドン引きだったかもしれません… これだけでは何なので、ついでに手元の Fedora7 on coLinux に CouchDB の trunk を入れたときの手順と、簡単な couchdb の使い方をご紹介しておきます。 基本的にはオフィシャルwikiにあるとおり、yum でモジュールを入れていけば問題ありません。素の coLinux からの場合、以下のモジュールが必要でし
An example of a binary hash tree. Hashes 0-0 and 0-1 are the hash values of data blocks L1 and L2, respectively, and hash 0 is the hash of the concatenation of hashes 0-0 and 0-1. In cryptography and computer science, a hash tree or Merkle tree is a tree in which every "leaf" node is labelled with the cryptographic hash of a data block, and every node that is not a leaf (called a branch, inner nod
Chordでは、コンテンツのハッシュ値を求める関数にSHA-1を採用するのが一般的である。ネットワークに参加するノードは、SHA-1のハッシュ値の値域を満たす一意なが割り当てられる。 ここで、という関数を定義する。この関数は、ハッシュ値が与えられたとき、値を増加させる方向で次に存在しているノードのを返す。なお、とは接続されていると考える。 ネットワークで情報を共有する際には、共有したい情報のハッシュ値をとしてを満たすを持つノードが、実際に情報を保持しているノードの位置を示すIPアドレス等の情報を保持する。 また、ネットワークに参加するノードは、自身のをとした場合、 , ただし のをもつノードのIPアドレスをルーティングテーブルとして保持する。 共有されている情報を検索する際には、検索したい情報のハッシュ値をとしたとき、としてが割り当てられているノードを各ノードのルーティングテーブルを利用し
A vector clock is a data structure used for determining the partial ordering of events in a distributed system and detecting causality violations. Just as in Lamport timestamps, inter-process messages contain the state of the sending process's logical clock. A vector clock of a system of N processes is an array/vector of N logical clocks, one clock per process; a local "largest possible values" co
ConsistentHashing - コンシステント・ハッシュ法 目次 この文書について コンシステント・ハッシュ法 実例 実装 用途 コンシステント・ハッシュ法 この文書について "Tom White's Blog: Consistent Hashing" の日本語訳です. http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html 推敲歓迎: 誤訳, タイポ, 訳語の不統一, そのほか... 原文のライセンス: http://creativecommons.org/licenses/by-nc-sa/2.0/ 私は今までに何度かコンシステント・ハッシュ法にとりくんだことがある。 このアイデアをあらわした論文 ( David Karger らによる Consistent Hashing and R
_ Erlang 分散システム勉強会 終わりました [erlang][kai][dynamo] たくさんのご参加ありがとうございました.お陰様で,盛況のうちに終わ ることができました. 家が遠くて早く帰らなければならなかったので,懇親会のときに全員に挨 拶できなかったのが心残りです>< lyokato さんには会場の手配から入室管理までやっていただきました.ま た,hamano さんには懇親会の準備から集金までしていただきました.本当 にありがとうございました. Erlang 分散システム というキーワードに,これだけの人が興味を持って いるということがわかって驚きました.いろんな角度から Erlang や分散 システムを見ることができて,面白かったです. 個人的には,CouchDB の完成度がイマイチ (ではなく,まだ発展途上段階 との指摘を yohei さんから受けました) というのが
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く