サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.chimaira.org
Tue Mar 08 2005:start Tue Mar 08 2005:draft Fri Mar 11 2005:prefinal 1. はじめに ここ1月以上も「書かねば、書かねば」と思っていた記事、それがコレです。 「XMLはどこに?」というタイトルには、二重の意味が込められています。1つ 目は、「いったい、キマイラ・サイトのどこにXML関連記事があるのか?」と いう意味。2つ目は、「(檜山にとっての)XMLの真実は、どこに隠れているの だろう?」という意味です。 この2つの疑問に答えるために、この記事を書くわけですが、それは、キマイ ラ・サイトとXMLの関係、あるいは、檜山とXMLの関係を説明することになるで しょう。全面的に例え話なので、その例えが何を指しているのか分かりにくい かもしれません。が、それはしょうがないのです。僕も、例えが何を指してい るのかをチャント捉えてない
「ETBダイヤグラム」と僕(檜山)が勝手に呼んでいる図式法/図解法を説明 する。呼称はともかくとして、このような図式は新規なものではなくて、既に よく使われている。図式をベースにしたプログラミング、設計(デザイン)、 コンフィギュレーションなどへの応用が期待できる。 関連記事:「圏論」インデックス 1. はじめに Chimairaアーキテクチャでは、図式による説明や計算をヘビーに使うつもり だ。図式(視覚的な表現)を使えば、言葉や記号による説明/計算よりも簡便 で直感的になる(こともある)からだ。 それと、図式をベースにしたプログラミング、設計(デザイン)、コンフィ ギュレーションなどを実現したいという目論見もある。そのためには、図式法/ 図解法を明確に定義する必要がある。 と、そういうわけで、ある図式法について解説する。なお、この記事の注釈、 ノートは“読み流し/読み飛ばし”しても差しつ
「クリーネ」とカタカナ書きすることが多いけど、守屋本p.161の「TEA TIME」 によると、「クリーン」のほうが原音に近いらしい。どっちのカタカナ表記を採 用するか決めかねているので、この記事では"Kleene"を使う。 参考文献は次の2つ: 守屋悦郎 『形式言語とオートマトン』(サイエンス社, 2001) 木下佳樹『不動点をめぐる代数構造たち』 ( http://unit.aist.go.jp/it/japanese/ps02-005.pdfをローカルに保存) これらを、[守屋]、[木下]として引用する。が、この2つだけからネタを採っ ているわけではない。 なお、 「キマイラ飼育記」の 2005-05-26から2005-05-30にかけて書いた日記エントリーの内容もこの記事に 含まれる。日記のほうが説明が簡潔だから、むしろこの記事を読む前に次に挙 げる日記エントリー群を(この順で)読
コンパクト閉圏の定義を示し、定義にまつわるいくつかの事柄を調べてみる。 より具体的には、「左」という形容詞への違和感を述べ、一方で「単位」とい う用語法が整合的であることを裏付ける。 関連記事:お絵描き圏論 関連記事:コンパクト閉圏を定義する 関連記事:「圏論」インデックス 1. はじめに 2005年2月8日の時点において、Googleで "compact closed categories"(あ るいは、"compact closed category"、「コンパクト閉圏」)で日本語のペー ジを探しても、なんと2件しか出てこない。1件はこのChimairaサイトで、もう 1件は、 SLACS(スラックス; Symbolic Logic And Computer Science)1996年の発表プログラム内の、白 旗優(慶応大学商学部)氏発表のタイトル「A sequent calculus
Janusパイプラインの例をいくつか挙げる。テキストストリームの例、XML処 理の例、それとMVCの例が含まれる。図式(ダイヤグラム)の描き方とツール の話題にちょっと触れている。 1. はじめに この記事では、Janusパイプラインの例をいくつか挙げる。最初の例(2つあ る)はテキストスリームの例である。これらは、あまり面白くない例だが、基 本概念を確認するために役に立つ。次の例は、XML処理に関連している。XMLデー タのローディングと、DOMツリーの同期のためのパイプラインを挙げる。 最後の例では、 対話的アーキテクチャル・モデルであるMVC(Model-View-Controller)を Janusパイプラインに直列化してみる。 このMVCの例は、ひょっとすると面白いと感じていただけるかもしれない。もっ とも、ここで定義するMVCはオモチャのMVCだから、ただちに現実的な問題に適
現状の形式言語理論に対する“違和感”について述べる。その違和感を解消 するための再定式化(代替案)のラフ・スケッチ(極めてラフ)も述べる。 1. はじめに この記事は、現状の形式言語理論に“ケチをつける”ために書かれている。 まず、僕が「形式言語理論」という言葉で何を指すのかを明確にするために、 この分野の教科書を紹介する(第2節)。それらの教科書に書かれ ている内容には実際にお世話になっている。ケチをつけるどころか感謝すべき ではないか? うん、形式言語理論の成果や効能は十分に認めてますよ。 では、僕が何に不満を感じているのかというと、その定式化(理論構成の筋書 き)がイヤなのだ。基本的/初等的な結果(定理)も、納得がいかないのだ。 「それは、おまえの頭が悪いんだろう」と言われてしまえば、そのとおりでは あるのだが、僕でも分かるような定式化はないものだろうか、という問題意識 も生まれる。
1. はじめに JavaCC(Java Compiler Compiler)(*注1)について調べたので、書き留めて おきます。ダウンロード元やセットアップ法は変わる可能性があるのでここに は書きませんので、検索して調べてください(*注2)。また、「JavaCCの使い 方」については、他のどなたかによる解説が(複数)あるでしょうから、ここ では、違った観点から説明します。 その「違った観点」とは、JavaCCの構文記述の部分だけに注目して、これを 拡張BNFだとみなす立場です。JavaCCは実用的パーザー生成器なので、パーザー クラスのコードや、アクションと呼ばれる解析時動作を通常のJavaコードで記 述します。が、Javaコードの部分を取り除いた部分だけを見てみましょう、っ てことです。JavaCCの正統な(?)紹介はまったく意図してません。 例の多くは、JavaCCに付属しているJav
圏論の計算のために、テキストエディタとキーボードだけでも容易に入力可 能な記法を提案し、計算を実行してみる。この記法は、図式順(diagrammatic order)に左から右に向かって書き記す方式である。 1. はじめに 圏論の計算のために、テキストエディタとキーボードだけでも容易に入力可 能な記法を案出しようと何度か試みて、何度か(試みと同じ回数)挫折した。 それで得た教訓は、あまり高望みせず(所詮、テキスト表現では限度があるから)、 できることだけをチマチマとやっていくほうがよさそうだ、ということ。それ で、自然変換の計算にしぼって、アスキー文字+ギリシャ文字(*注1)で書け る記法を提案し、計算を実行してみる。 テキストによる式は、diagrammatic order、つまり左から右に読めること に拘った。この特徴を強調して、ここで述べる記法を‘図式順テキスト記法 (Diagram
2006年のNOTE この文書「文書型定義(DTD)とその設計」は、1998年に書かれた雑誌記事の原稿です。HTMLファイルは(タイムスタンプを見る限り)1999年に作成されたようです。かなりの期間サイエンス社のWebサイトで公開されていましたが、現在はWeb上に見あたらないようです。そこで、キマイラ・サイトで公開を続けることにしました。 当時の檜山のメールアドレスと、本文中に不自然に含まれていた空白を削除した以外は、文面もマークアップも一切変更していません。リンクは無効なものが多いでしょう。図版(画像)は紛失しています。もとの雑誌からスキャンすることは可能ですが、その雑誌がどうも見つからないのです(苦笑)。もし見つかれば図版を補うつもりです。 この文書の最後のほうに、パラメータ実体を使ったDTDの例がありますが、必要なら、実際の事例「SMIL 1.0のモジュラー化DTD」も参照してくださ
「誰でもわかる『コンパクト閉圏』」を目指して書き始めた記事。だが、前 書きが長くなりすぎて、本編に至ってない。結局この記事は、前置きの部分だ け。コンパクト閉圏は(図形的に見れば)、まっすぐな線分だけから交差や曲 がり(回転)も取り入れる形で“進化した圏”、と位置付けられることを示す。 関連記事:ETBダイアグラム 関連記事:コンパクト閉圏 関連記事:コンパクト閉圏を定義する 関連記事:「圏論」インデックス 1. はじめに 「コンパクト閉圏」という記事を書い たが、これは「脈絡もなく雑多なこと」を備忘目的で記したものだ。そのため、 系統的な説明にはまったくなってない。で、この記事でなにか系統的な話をす るかというと、そうではなくて:-)、もっと脈絡もなく雑多なことになる。 「コンパクト閉圏」の6節の短いノー ト「ネーミング同型のあからさまな表示」で、コンパクト閉圏は、どことなく 算数っぽい
更新状況などは、こちら (Hatena::Diary 「檜山正幸のキマイラ飼育記」)でご確認ください。 「キマイラ飼育記」のRSSは http://d.hatena.ne.jp/m-hiyama/rss から取得 できます。 このインデックスの並び順は、アップロードされた時間の順です。新しい記 事は最後に追加されます。 ソフトウェア工学について思うこと (他サイト) ETBダイアグラム Janus(ヤヌス)の紹介 -- stdin/stdoutからの入門 双面神Janus 高次元のパイピング パイプ&フィルターの思い出 メソッド呼び出し一元論 Janus(ヤヌス)の紹介 2 -- フィルターからコンポネントへ Janusについて雑多なこと Janusのなかの計算系 動的発展 Janusパイプラインの例 刺激反応系 遷移系と遷移翻訳系 アクセッサについて その2 (他サイト) 「形式的」とは
四角形の左右の辺が圏を、上下の辺が関手を表す。四角形内部に自然変換 (の名前)を記入する(F⇒Fの恒等自然変換の場合は四角形内は空白とする)。 関手は左から右、自然変換は上から下と方向を決めているので、いち いち矢印は書かなくてもよい。(人により、右から左、下から上の方向も使う ので注意!) 次は、複合的なペースティング図と、それに対応するスタック図の例である。 α:: F;;G ⇒ H : A→C β:: F;;F ⇒ K;;L : A→A 4. ストリング図 平面内で、一筆書きできる“交差しない境界線”で囲まれた領域を‘部屋’ (chamber)と呼ぶ。平面内に描かれた有向グラフDが、部屋Rに対する‘スト リング図’だとは、次を満たすことである。なお、‘開いた辺’とは、始点ま たは終点のどちらか一方のノードを持たない辺であり、ここではグラフに開い た辺を認める。 すべてのノードは部屋の
この記事は「JavaWorld」誌の「私が感動したJavaソースコード」というコー ナーに掲載されたエッセイの原稿です。雑誌掲載後かなり時間がたったので公 開します(掲載記事とは若干の違いがあります)。記事内のURLのなかには、 現在ではアクセス不可能であったり、移転したものがあるかもしれません。 キレイに書かれたコードを見ると“感心”します。ですが、それはどうも “感動”とは違うような気がします。例えば、Perlの作者であるラリー・ウォー ルが(Perlより前に)書いたニュースリーダー「rn」のC言語ソースコードは かなりトンデモナイものです。感心しません。が、そのえぐさは感動ものでし た。 CやC++では、言語処理系やOSに関する知識に基づきトリッキーなワザを使っ たヤバいコードをよく見かけました。一方、Javaはというと、プラットフォー ムに依存しない行儀がよいコードを書きやすいプロ
Wed May 11 2005:start Sat May 14 2005:draft Mon May 16 2005:prefinal 形式的体系の初歩的知識を仮定して代数と余代数の紹介を試みる。特別な条 件を満たすソート付き形式的体系の指標(signature)を代数指標/余代数指 標と定義して、それのモデルとして代数/余代数を導入する。余代数とオブジェ クト指向との関係にも言及する。
Janus(ヤヌス)コンポネント・アーキテクチャの導入的な解説をする。 Janusの起源はUnix流のパイプ&フィルターだから、パイプ&フィルターと、 それらに入出力ポートを与えているstdin/stdoutを説明の素材とする。 次の記事:「Janus(ヤヌス)の紹介 2 -- フィルターからコンポネントへ」 1. はじめに 「このサイトについて」の記事 「コンポネント・アーキテクチャ」の最後のほうで、Janus(ヤヌス)という名 のコンポネント・アーキテクチャについて予告した。そのサワリを この記事で紹介したい。 Janusについて一番強く言いたいことは、それが、Unix流のパイプ&フィルター の直接の拡張になっていることだ。「直接の」と形容詞を付けているのは、パ イプ&フィルターをJanusのなかに忠実に再現することができるからだ。それ に、パイプ&フィルターは、僕がJanusを考えた
更新状況などは、こちら (Hatena::Diary 「檜山正幸のキマイラ飼育記」)でご確認ください。 「キマイラ飼育記」のRSSは http://d.hatena.ne.jp/m-hiyama/rss から取得 できます。 このインデックスの並び順は、アップロードされた時間の順です。新しい記 事は最後に追加されます。 ETBダイアグラム スーパーポージング公理からスーパーポージング定理へ スーパーポージング公理からスーパーポージング定理へ 図だけ コンパクト閉圏 お絵描き圏論 トレース付きモノイド圏における結合 コンパクト閉圏を定義する セオリーの圏 図式順テキスト記法(DOTN) ストリング図による複合モナドの計算 (1) トレースとモノイド積/結合 コンパクト閉圏における結合 コンパクト閉圏を定義する その2 Int(GoI)構成
Mon Dec 26 2005:start Wed Dec 28 2005:draft Tue Jan 03 2006:prefinal 関連記事:プログラマのための「ゲーデルの不完全性定理」@檜山正幸のキマイラ飼育記 1. ゲーデルの定理は神秘主義の対極にある ゲーデルの不完全性定理を、自然言語(日常言語)だけで説明する試みを見 かけるのだけど、これは無理スジじゃなかろうか。前もってわかっている人は、 「あー、そうだね、確かに」と納得できるだろうが、その自然言語による説明 により初めて勉強をする(そして、ちゃんと理解する)ってのはほぼ不可能な 気がする。 一見回り道のようでも、記号論理学を一通り勉強して、ゲーデル符号化を (だいたいでも)追いかけないと、納得した気分にはなれないだろう。仮に正 確な説明だったとしても(そうじゃない例も見かける)、それが自然言語で記 述されると、なんだか騙さ
正規表現、正規言語などにおける「正規」という概念について考えてみます。 また、それを糸口に再帰代入系への道筋を示し、ウルトラ・マクロな立場/ア プローチも紹介します。 関連記事:属性のための正規表現 関連記事:再帰代入系 1 関連記事:再帰代入系 2 関連記事:「形式的」とは何だろう 1. はじめに この記事のタイトルにある「正規(regular)」は、正規表現(regular expression)、正規言語(regular language)、正規集合(regular set)な どに付いている形容詞である「正規」のことです。 さまざまな正規ナントカがあるのですが、「正規」という形容詞を付けていい状況、 正規と呼ぶにふさわしい対象とは何でしょうか。それを探ってみます。 この記事の内容は、「属性のための正規表現」 に関係してます。「属性のための正規表現」を全部ていねいに読む必要はあり ま
更新状況などは、こちら (Hatena::Diary 「檜山正幸のキマイラ飼育記」)でご確認ください。 「キマイラ飼育記」のRSSは http://d.hatena.ne.jp/m-hiyama/rss から取得 できます。 このインデックスの並び順は、アップロードされた時間の順です。新しい記 事は最後に追加されます。 XMLはどこに? -- 穴を掘る男 -- XMLボキャブラリのデザイン・パターン (他サイト) XMLボキャブラリのアンチ・パターン (他サイト) 折れ線の例 XMLフレンドリーな型システム -- 「折れ線の例」から導かれること -- 型システムの相剋と棲み分け 属性のための正規表現 属性か内容か?それは問題ではない 空白問題と内容モデル 1 (導入編) 空白問題と内容モデル 2 (分析編) 空白問題と内容モデル 3 (解決編) 平坦添加例外による内容モデルの拡張 レコード
レコードデータとXML要素の相互変換(むしろ相互解釈)について述べる。い くつかの方法/事例を列挙するが、それらの優劣を論じることはしない。 1. はじめに 「XML要素をレコードとして解釈したい」、あるいは逆に 「レコードをXML構文でエンコードしたい」という要望がある。だが、要素の レコード解釈(あるいはレコードの要素解釈)が一意的に決まるわけではない。 要素-レコード対応は複数ありえるし、それらの対応に絶対的な優劣はない。 この記事では、要素-レコード対応の例をいくつか出して、それらを比較して みることにする。 2. レコード 名前・値ペア(name-value pair)をいくつか集めたデータを‘レコード’と 呼ぶ。レコードを構成している個々の名前・値ペアを‘フィールド’と呼ぶ。 レコードは、構造体、(RDBテーブルの)行(ロウ)、素性構造、プロパティ セットなどとも呼ばれる。使え
もう10年以上も昔のことになるが、僕はHP/UX(HP社のUnix系OS)のムック (雑誌形態だが書籍として流通する本)を作ったことがある(*注1)。 自分でも何本かの記事を書いたが、執筆者達と連絡を取りながら、あがってく る原稿に手を入れるのが僕の仕事だった。はじめて原稿を書く人が多かったか ら、そのまま使える原稿は少なかったのだ。そうやって、僕と 井上健語で本の形にしていった。 ソフトバンクから、第1巻と第2巻の2冊を出した。なんて題名だったかなぁ? 思い出せない、現物もないし。引っ越しのたびに物がなくなるので、昔の本/ 雑誌は自分が関わったものでも紛失している。ソフトバンクの雑誌『Oh! 16』 や『Oh! PC』には随分記事を書いたが、全然残ってない。自分で書いた記事は どうせクズだからいいのだけど、秋月康夫『調和積分論』、題名を忘れたけど 前原昭二著で培風館から出ていた数理論理学
更新状況などは、こちら (Hatena::Diary 「檜山正幸のキマイラ飼育記」)でご確認ください。 「キマイラ飼育記」のRSSは http://d.hatena.ne.jp/m-hiyama/rss から取得 できます。 このインデックスの並び順は、アップロードされた時間の順です。新しい記 事は最後に追加されます。 形式言語理論への疑問など 再帰代入系 1 再帰代入系 2 「形式的」とは何だろう 順序言語 属性のための正規表現 「正規(regular)」とは何なんだ 「正規(regular)」とは何なんだ 2 正規構造 「正規(regular)」とは何なんだ 3 補足、実例など Kleene代数とその周辺 各種正規表現の(仮)記法
これらのデータ項目にはさらに次の制約があるとしよう。 givenNameとfamilyNameは必須であるが、その他の項目は省略可能である。 marriedの値が真のときはpartnersNameが存在してもよいが、marriedの値が 偽のときはpartnersNameがあってはならない。 いま、これら5つのデータ項目を同名の5つの属性を使ってXMLエンコードする としよう。例えば、次はXMLエンコードされたデータの例である。 <person givenName="トン吉" familyName="板東" sex="male" married="false"/> 3. 制約の表現 この節では、「属性のための正規表現」で導入した 集合正規表現を使う。構文的演算子「|」「&」「?」は、集合正規表現の意味 で解釈する。 まず記号の使い方を(「属性のための正規表現」の繰り返しになるが)説 明する
「形式的手法」、「形式言語」、「形式的体系」などの言葉には、「形式 (的)」という形容詞が登場する。この「形式的」とはどういうことなのだろ うか。主に、形式的体系について解説することによって、形式的な発想に慣れ るキッカケを提供したい。 1. はじめに このキマイラ・サイトや他のところの記事で僕が扱っている話題には、形式 的手法、形式言語、形式的体系など、「形式(的);formal」という形容詞が つくものが多い。同じ「形式的」という言葉でも、使われる文脈で異なる意味 あいがあるのだが、まー、共通する面もあるね。この記事では特に、「『形式 的体系』における『形式的』」について取り上げてみる。「形式的(なもの)」 に対する嫌悪感やアレルギーを取り除ければいいな、というのが僕の希望であ る。 この記事から他の記事への参照はあるが、それらの参照をたどらなくても、 この記事単独でも読める。また、他
Chimaira.org Since 2004-12-25 このサイトについて XML 計算科学/ソフトウェア工学 形式言語理論 圏論 その他 総目次(自動生成) 主催者:檜山正幸 (HIYAMA Masayuki) hiyama {AT} chimaira {DOT} org キマイラ飼育記 (ブログ)
このページを最初にブックマークしてみませんか?
『Chimaira.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く