このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

2005-05-01から1ヶ月間の記事一覧

ソフトウェア工学(4):naoyaさんとorionaeさん、そして文化圏

わずかな文面からも、お二人とも、若くて優秀で、情熱と気概を持ったエンジニアであることはよく分かります。老婆心にお気を悪くなさらずに。さて、最近の僕の関心は、文化圏とそのバイアス(文化圏バイアス、あるいは環境バイアス)です。「文化圏バイアス…

ソフトウェア工学(3):ちょっと強引だったかも、orionaeさん

orionaeさんの立場は、現在の僕の立場に近い面もあり、心情的にはよく理解できます。が、naoyaさんの“無邪気すぎる”言葉使いを挑発的と受け取ったのでしょうか? どうも議論に無理があります(後で一部訂正をなさっていますが)。 言語は関係ないというのは…

ソフトウェア工学(2):ちょっと無邪気だったかも、naoyaさん

noyaさんの意見は、9割方同意できるものです。残る1割もその内容にではなくて、その無邪気すぎる表現に疑問を感じる、ということです。曰く:>お上品な方法論を解説した分厚い書籍>スーツを着て設計書を書いてからものを作る>頭でっかちの設計屋が何日も…

ソフトウェア工学(1):「反ソフトウェア工学」陰謀説

まずは拙文からの引用: アジャイルの人々は、ウォーターフォールに代表されるような、今となってはどうでもいいような(というか弊害が多い)方法を批判するために、(おそらくは戦略的に)「ソフトウェア工学」をスケープゴートに選んだのでしょう 。現場…

「リンク元」の謎が解けた

そういうことだったのかぁー。いえね、5月22日(日曜)あたりから、キマイラ・サイトを経由したアクセスが増えて、「これはいったい何だろな?」と思っていたのです。やっと事情がわかったよ。naoyaさんの「僕やはてながPerlを選ぶ理由」(id:naoya:20050518)…

だから何なの?

以上、一連のポストは、XMLの内容モデルの話題であり、さらにXMLの“多文化主義”がその背景です。僕は「内容モデルは、データ構造モデルも含めて考えるべきだ」と述べました。そのデータ構造は、リストやツリーに限定すべきではありません。なぜなら、応用領…

バッグ正規表現の事例

列(リスト)正規表現は既によく知られたものです。セット正規表現の応用例は、次の記事で述べています。 属性のための正規表現 属性か内容か?それは問題ではない ここでは、バッグ(マルチセット)正規表現の例を挙げておきましょう。XHTMLのheadの内容を…

Kleene代数と正規表現

今まで(金曜日と今日)の話をまとめると、リスト、バッグ、セットのいずれに対しても2項演算・と定数Iが定義できて、さらに、それぞれのパワー(ベキ集合)上に・とIを持ち上げることができる、ってことでした。そして、パワーの上でも次の計算法則が成立し…

Power Liftingって、重量上げか?

(木曜日の続きなのです)あいだがあくと文字通り“間が抜ける”のだけど、 [雑記/備忘]データ構造の基本としてのコレクション [雑記/備忘]演算「・」と定数「I」をオーバーロード定義する の次の話です。リスト、バッグ、セットのパワーを作ります。って、…

英語の綴りは…

Lispに関する本だか記事だかに、次のような話が(うろ覚え): ある人が「Lispで多用しているlambdaという語は、余計なbがあるので綴りを間違いやすい。これがバグの原因ともなるので、ラムダではなくてアルファにすべきだ」と主張した。案の定、その人はア…

子供の運動会、エクストリーム観戦な人

子供の運動会ってのは、始めから終わりまで見るもんじゃないのかも知れません。そのへんを僕はあまり認識してなく、手ぶらでなんとなく終日ベッタリ観戦してました(今日のこと)。なかには準備万端の方もおられる。新聞、雑誌、文庫本はもとより、座椅子、…

はてなブックマークでサルになる

昨日(金曜)、「はてなブックマーク」サービスをはじめて使ってみました*1。ローカルブックマークをせっせと移しているうちに、この単純作業がクセになってきて、サルのように入力してまいました。そして気がつくと、僕のブックマークエントリのほとんどが1…

Goldblatt "A calculus of terms for coalgebras of polynomial functors"

2,3日前に、やけになって(?)Citeseerから数編の論文をプリントした。とりあえず、ゴールドブラット(でいいのかな、ヨミ)のこれ→http://citeseer.ist.psu.edu/goldblatt01calculus.html を読んでみよう。このゴールドブラットさんは、algebrasに対するバー…

Whitespace処理系から言語処理の一般論へ

キマイラ・サイトに置いた実装(zipファイル)は、コーディングはイイカゲンなものですが、全体の成り立ちは割とまじめ(クソマジメと言っていいくらい)な構成にしています。教科書どおり、字句解析器(Lexer)からトークン(Token)が構文解析器(Parser)…

Whitespace言語が教育的な理由

2005-05-23 「Whitespace(6):続きはあるのか?」より: 同じネタ(しかもあのテの)で、あまりに引っ張ると鬱陶しい、シツコイ、っていうか自分でもしんどくなる(笑)から、…(省略) あのテの話は勢いで書くものだから、あいだが空くとノリが失われてしまう…

続くでしょうが、またね

「続くとは思うけど、、、」と書いた件は、明日以降。それはそうと、「はてな」が生成するテーブルは見ばえがよくないなー。スタイルシート書かないとダメなのか、それはメンドいよねぇ。追記:↑ テーブル、少しはましになった。まだショボイけど。

アレレレ、改行が?

はてなダイアリー・システムの改行処理がバグっているような?改行が段落の開始/区切りとして認識されてないようだ。手作業でレイアウトはいくらなんでもイヤだ。追記:↑ これは生タグでテーブルを入れたのがよくなかったみたい。簡易マークアップと生タグ…

中華と中国語

今日の昼飯は、中華居酒屋ランチの五目そば。お隣のお客(中国人のおにいさん)は、従業員の中国人おねえさんと、どうしても中国語で話したいらしい。なんだかんだ呼びつけたり、そばに来るのをみはからって極めて熱心に話しかけるのだが、、、、おねえさん…

演算「・」と定数「I」をオーバーロード定義する

2項(引数を2つ持つ)演算「・」を、リスト、バッグ、セットに対してオーバーロード定義しましょう。事例で定義に代えます。 リスト:(1, 2, 1, 3)・(3, 3, 5) = (1, 2, 1, 3, 3, 3, 5) バッグ:[1, 2, 1, 3]・[3, 3, 5] = [1, 2, 1, 3, 3, 3, 5] セット:{1…

データ構造の基本としてのコレクション

(昨日の続きに近いかも、なんか日刊連載している気分になってきた)昨日、内容モデルの「モデル」を、構文モデル(正規表現)に限定せず、データ構造モデル、意味モデルも含めて考えたい、と述べました。データ構造の基本的なことは、SmalltalkやJavaなどで…

今日は歯医者

と、毎週書くのは、こうして心の準備をしているというか、気合いを入れているのです。歯の治療は時間がかかる(それと痛いしね)。なかには一年もかかる予定で、通いきれずに挫折してしまう人もいるそうだ。“持続する意志力”が必要なんですよ。ところで、依…

気がつけば …

随分と長々と書いてしまったなぁー。昨日、今日の日記の内容を整理して、記事にしてキマイラ・サイトに置いたほうがいいだろうな、参照の便宜を考えても。が、一度書いてしまうと、それをまとめ直すって、けっこうに苦しい作業になる(苦笑)。

だから何なの?

僕が昨日「文化圏」と呼んだものは、「意味モデル(の体系)を共有するコミュニティ」だと言い換えてもいいですね。ほんとの意味モデルの記述は、自然言語にたよらざるを得ないでしょうが、データ構造モデルと構文モデルはある程度は形式的な記述ができるだ…

データ文字列と要素の混合内容

まー、XML-DTDの#PCDATAという記法/概念は、まったく使い物にならないシロモノなんだよね。代替として1文字を表す#charを出したけど、もう1つの代替として#dataという記号を導入しましょう。#dataは、内容に含まれる極大な文字列とマッチします(DOMのノー…

概念的には、実はレコードモデル

先に挙げたpriceの例より、次のマークアップのほうがいいような気がしませんか?priceの例2: <price>&ltvalue>2300</value><unit>JPY</unit></price>この、「いいような気がする」根拠は、こっちのほうがデータ構造モデルとの対応が直接的だからです。データ構造モデルを擬似コードで示せば、こ…

文字/要素を詰め込んだバッファ、というモデル

pの内容に関するデータ構造モデルは、昨日の「テキストバッファの文化圏」で述べたようなバッファ・モデルでしょう。基本単位(アトム)は文字または要素であり、文字単位でのアドレッシングとオペレーションをサポートすべきです*1。構文的にも、(#PCDATA|b…

混合内容の2つの例

昨日挙げた2つの例を、「pの例」、「priceの例」として引用します。(ただし、通貨記号はISO 4217のコードであるJPYに変更した。)pの例: <p>これ<br/>とても<em>重要</em>。</p>priceの例: <price>2300<unit>JPY</unit></price>これらの構文モデルを、DTDの記法で書けば次のようになるでしょう。 pの例: (#…

内容モデルとは何か?

(昨日の続き、みたいなもの)XML-DTDの内容モデルとは、ありていに言ってしまえば、正規表現の一方言に過ぎません。このような意味で「モデル」という語を使うのは異例の用語法です(SGML由来の用語はだいたい奇妙なんだけどね)。でも僕は、ずっと「内容モ…

他にもさまざまな文化圏が

混合内容でも、<price>2300<unit>YEN</unit></price>なんてのはまた別物*1で、テキスト部分が整数や通貨単位というデータ型で型付け(typing)されていると考えられます。2300を2350に変更するのは“任意の文字列編集”ではなくて、“整数値の更新”処理です。つまり、混合内容だから型付け不…

テキストバッファの文化圏

混合内容を必要とする文化圏も1つではありませんが、テキスト文書やワープロ文書の延長としてXML文書を扱いたい立場から言うと、混合内容を「テキストノードと要素ノード(その他の有象無象は無視)が混じって並んだもの」と見るのもうまくないのです。混合…