2004-01-01から1年間の記事一覧

XMLSpyに一言

2.5MのXSD Schemaからドキュメントを生成させただけで「Out of Memory」にならないでくれorz

参考資料

JSTWebラーニングプラザオススメ 京都大学理学部(理論分子生物学)講義資料 東京大学バイオインフォマティクスの基礎実習資料 分散コンピューティングプロジェクトの紹介 細胞生物学 新潟薬科大学応用生命科学部の講義資料 たんぱく質の立体構造 研究…

バイオインフォマティクス

bio

日本語訳は生命情報科学。国立衛生研究所(NIH)の生物医学情報科学技術イニシアチブ(BISTI)コンソーシアムの定義は、以下の通りである。 バイオインフォマティクス: 生物学、医学、行動学、健康に関するデータの取得、蓄積、体系化、データベース化(arc…

Syntactic Theory

最近は、可変長レコードの型推論アルゴリズムを実装するために基礎理論を勉強している。OCamlと同じ理論に基づいた実装にしようと思い、[Remy92]*1、[Remy93]*2をあたりを読んでみた。これらを読み進めていく過程でSyntactic Theory(統語論)なるものがありそ…

LALRに宗旨替え

作成中の言語の文法がついにLL(k)パーサーで受理できなくなったので、LALR(1)パーサーへと移行した。いくつかのパーサージェネレータを使ってみた結果、monoのC#コンパイラの作成に使われていたC#対応jayを使うことにした(オリジナルのjayはここ)。jayを使う…

型推論とエラーメッセージの可読性

先週の土日を使って、型推論アルゴリズムを実装してみた。id:kkanda:20041004でLLパーサーのエラーメッセージは分かり易くて良いという話をしたが、型推論アルゴリズムを導入した瞬間すべてがぶち壊しになったorz 型推論アルゴリズムとは、制約条件を満たす…

LLパーサのエラー処理に感動

最近VS2005で、関数型言語のおもちゃを作っている。現在、Type Checkerまで実装が完了している。この言語のパーサーはCOCO/RというLL(k)パーサージェネレータで生成している。パーサージェネレータといえばyaccやbisonが有名だが、これらのパーサージェネレ…

Visual Studio 2005を1ヶ月使ってみての使用感

Visual Studio 2005を土日の趣味プログラミングの時間に使い始めて、そろそろ1ヶ月がたとうとしている。これまで使ってみての使用感を5段階で評価するとしたら、4ぐらいだろう。気に入った点を挙げると、 Refactor機能(特に名前の変更) これのおかげで置換…

Gmailのinvitationゲット

今日、久しぶりにGmailの受信トレイを覗いたら、 invitationが増えておりました。びっくり。 ランダムに分配してますと、ヘルプには書いてあったけど、 アカウント取得してからまだ2週間くらいしかたってないんだけどなぁ。 運が良かったのか、こんなものな…

C#2.0のanonymous methodはclosureか?

少し古くなるのだが、Martin Fowler's BlikiにClosuresという記事があった(日本語版はここ)。この記事では、rubyを例にclosureとC#のdelegate、Javaのanonymous class、Cの関数ポインタとの違いが述べられていた。closureって何ですか?という人もいると思う…

型なしラムダ式の実装(つづき)

id:kkanda:20040905に書いた型なしラムダ式の実装が一通り完了。 現状では、 static void Example6(ParsingInfo info, LambdaContext ctx) { //ex6. λ.(1 0) λ.0: Γ={b,a} VariableTerm v1 = new VariableTerm(info, 1, 3); VariableTerm v2 = new VariableT…

Nullable<>型で遊んでみた

値型のオブジェクトを未定義状態にしておきたい場合がある。いままで、このような場合は既定値を与えることで対処してきた。大抵の場合はこの方法でうまくいくが、この方法だと一度も値が代入されていない状態とそうでない状態を明確に区別することができな…

型なしλ計算の実装

ISBN:0262162091 の 6章「Nameless Representation of Terms」を読んだ。 この章には、λ式の変数を自然数に置き換えても読みづらいけど 意味は変わらないよねということが書いてあった。具体的には、 λx.λy. x (y x) というλ式は、 λ.λ. 1 (0 1) という式に…

Cω再び・・・

なんかいろんな人が気にしてるみたいで、 それを読んでたらまた気になって、再びCωについて調査することに。今回は、論文にだけでなくプレビュー版をちゃんと使ってようと決心。 データベースアクセスがどれくらい自然に行えるのがどうしても気になった。 や…

Visual Studio 2005 beta1のインストール

dotNETマガジンを買ってきて、インストールを試みた。 が、DVDが見つかりませんという謎のエラーでインストーラが止まる。 気合で探してくれorz追記 id:tesuri:20040904にこのエラーの回避方法が! おかげさまで、無事インストールできました。

はてなの本

ISBN:4798107042みた。結構面白いかも。

GmailFS

Google Hack for Using GMail for File System Storageによると、 Gmailをストレージメディアとして利用するための ファイルシステムインターフェイスを実装した人がいるっぽい。製作者のページに行くとスクリーンショットがある。 cpでファイルを書き込こむ…

昨日、SQLをプログラミング言語から自然に呼び出せたら素敵だなと思ってなんとなく検索してみた。 見つかったのが、Cω、、、コメガ? って、これ前にも見たことあるじゃんと思いつつも「Unifying Tables, Objects and Documents」という論文を読んでみた。こ…

subtypingとsubclassingの違い

h氏とメッセでの会話より h> よく、インテリ君が「サブタイプとサブクラスは違う概念だからね」というのを見かけるがweb上に違いを説明している文章はあんまないです kkanda> ないね kkanda> それ、俺も不思議に思って探したんだけどあんままとまって書いて…

簡易計算機を作ってみた

コンパイラのフロントエンド部分を作ってみようと思い立ち、ごにょごにょと色々書き始めてみた。 modern compiler implementation(ISBN:0521583888)を読んだのは1年以上前なので、 すっかり忘れていることに愕然としつつ、 とりあえずリハビリとして簡易計…

Oracleってそんななのか・・・

db

面白いブログがあったので紹介。 Sahil Malik氏のOracle SUCKS !!より c) Here's my biggest problem - when I wanted to uninstall Oracle, it isn't in add/remove programs like all other friendly citizens of the computer world, instead it has it's…

Code Generationのサーベイ

先日の日記にも書いたCODER TO DEVELOPERを読破。CHAPTER8のGenerating Codeが 気になってなんとなくサーベイ。 Code Generation Network website Code Generationのポータル。情報量はやや少ないけど、 マイナーなコミュニティにしては以外に多いのかも。 C…

平田さんからのメール

噂の平田メールがうちにも。。。 つっこみどころ満載で面白すぎ。 はじめまして☆平田と申します。えーとですね、 以前メル友募集してましたよね??その書き込みに とても興味を持っててアドレスを控えてたんです。 ちょっと前の書き込みでしたけど。 ぜひぜ…

Data Execution Protectionに関する考察

Windows XP SP2で追加される機能の一つにData Execution Protection(DEP)がある。昨日、この機能の解説記事を読んでみた。DEPとは、簡単に言うとデータ領域上でのコード実行を防ぐ技術である。悪意のあるコードの多くはコードをデータ領域に送り込みアプリケ…

センスがあるなと思うコードって?

「期待を裏切らない」、これこそセンスのあるコードの条件ではないかと思う。関数の名前と動作が一致している、変数名とその値の意味が一致している、慣例に習って書かれている、そういうコードは見てて気持ちがいいし、バグも少ない。 逆にこりゃ裏切られた…

オブジェクト指向とは何か?

OO

友達との間でこの議論が最近一番ホットです。私の結論としては、オブジェクト指向とはアプリケーションを人間が理解しやすい形に示すためのガイドラインの一種で、単にオブジェクト指向と言った場合にはオブジェクト指向設計・分析を指す場合が多いと思いま…

CODER TO DEVELOPER

ソフトウェア開発をするうえで役に立つツールをそのツールを「どうして使うのか?」という基本的な質問から紹介している本です。タイトルのCODERとDEVELOPERの作者の定義としては、 - CODER : プログラミング言語を使いこなせる人 - DEVELOPER : 必要な機能…

ソフトウェア技術全般に興味があるので、脈絡なく何か書きます。

最近ヒットしているキーワードは、 - .NET - data ware housing - coding assist tool - securityなので、そこら辺の内容が多くなると思います。