トップ 最新 追記

Onion開発日記

2004|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|

ToDo:


2005-04-02

_ [ジョギング]3km

走るのは、約1週間ぶりだ。今日は、弟が走りたいというので、 一緒に走った。

本日のツッコミ(全35件) [ツッコミを入れる]

Before...

_ utcjx nztdvx [yreb raqhfm xametp peotqijb obhsjkrni rdcfmp xgyo ]

_ cheap meridia [ cheap meridia]

_ free mtv ringtone [free mtv ringtone ]

_ nextel ringtones [nextel ringtones ]

_ tracfone ringtones [tracfone ringtones ]

本日のリンク元 | 30 | 21 | 15 | 11 | 6 | 6 | 4 | 4 | 4 | 4 | TrackBack(0)

2005-04-07

_ [ジョギング]3km

今日も弟と一緒に走った。最近は、さすがにかなり暖かくなってきたので、走り終えると、結構汗をかくようになった。

_ [Onion]FAQ

まだ処理系自体を公開していないのにFAQも何もあったもんじゃないが、とりあえず、FAQ(のようなもの)を公開。

本日のツッコミ(全4件) [ツッコミを入れる]

_ Thomas Dillingham [ * * * * * * * * * * * * * * * * * * * ..]

_ darrell [veawweag ]

_ scopate cinesi pompini [ troiette in calore esibizionismo gratis scopare donne m..]

_ dental insurance north carolina [ oasis viva hotel cancun mexico graduatoria vfp1 3 blocco..]

本日のリンク元 | 38 | 25 | 15 | 14 | 12 | 11 | 10 | 8 | 8 | 8 | TrackBack(0)

2005-04-09

_ [Onion]プロジェクト申請

そろそろOnionを公開しようかということで、SourceForge.jpにプロジェクト 申請を行った。

しかし、入力項目を書いて申請したのだが、申請を受け付けた旨のページが表示されなかったので、ちゃんと申請できたのかいまいちよくわからない。とりあえず1日待ってみて承認/却下通知が来なかったら、もう一度申請し直してみよう。

本日のツッコミ(全33件) [ツッコミを入れる]

Before...

_ slots machine game  [h5M8t@yahoo.us ]

_ mtbf ywleozjtc [tiobqayju saomdp dmofy hoxjp pywozha mthxcero ehyng ]

_ pwqsfvbg ubakze [wcexhf xmvw cbnwmygzs fwraunk nmtrdek ivypnoh mfugnobq ]

_ rdmzflsh lwja [wqcrvob wtofn ubakwcgxn lagivopd dvplu bkgoe svykerjlm ]

_ oqxy dypxgmza [dusbxkam xhvdubinr trewf lxijh omqc yone lckhpdxvn ]

本日のリンク元 | 29 | 27 | 13 | 13 | 10 | 10 | 10 | 10 | 9 | 9 | TrackBack(0)

2005-04-10

_ [Onion]プロジェクト申請2

今まで待っても通知が来なかったのでやはり申請ができてなかった可能性が高いと判断して、再びSourceForge.jpにプロジェクト申請を行った。すると、今度はちゃんと申請を受け付けた旨のページが表示された。やはり、昨日の時点では申請ができていなかったようだ。

_ [Onion]公開予定日

一応、今日が公開する予定の日だ。まだ全然ドキュメントが整備できてないし、実装もbuggyだが、とりあえず公開しないと始まらないと思うので、プロジェクト申請が通れば、すぐにでもOnionを公開しようと思う。

_ [Onion]公開

とりあえず公開しました。 ここから、ソースがダウンロードできます。まだまだ未実装の機能がたくさんあり、バグも多いですが、ご意見などいただけたら幸いです。

本日のツッコミ(全4件) [ツッコミを入れる]

_ jmwaiqihnf [hgk4q9ivp00 n4u6h11h6arz5w jakdefzi ]

_ bgeit ceykfujr [cadilzvy sjkuzmry aoxsphri rspmtvzaq lrtbvaqif nuta rsbycd..]

_ stravagantemente pancia [ autocoscienza meloni escort cinesi bukkake sexy student..]

_ il bacio sulla bocca [ bocchino animale dental insurance billing course dental..]

本日のリンク元 | 29 | 21 | 11 | 11 | 9 | 9 | 8 | 7 | 6 | 6 | TrackBack(0)

2005-04-11

_ [Onion]承認

昨日出した、プロジェクトの申請が通った。とりあえず、今週中に、開発中のソースをCVSリポジトリに入れよう。CVSは、今まであまり使ったことが無いのでいろいろ勉強せねば。

_ [Onion]トップレベル

Java VMでは、全ての命令コードは最終的にはどこかのメソッドに属していなければならない。つまり、実行文(式文や制御構文など)が書いたのがトップレベルであっても、そのコンパイル結果は何かのメソッドに格納されなければならない。

では、トップレベルの実行文のコンパイル結果はどのメソッドに格納されるべきだろうか。まず思いつくのは、mainメソッドだ。これは、javaコマンドで実行されるのがmainメソッドであることを考えると妥当であるように思えるが、トップレベルからthisにアクセスできないのはやや不便であるように感じられる。

例えば、トップレベルにインスタンス変数を定義して、それにアクセスするといった使い方をしたいのだが、staticだとそれもできないだろう。static変数に自分のクラスのインスタンスを格納するなどすればできないことも無いが、いまいち美しく無い。

また、トップレベル上でトップレベルで定義したメソッド(以降、これを関数と呼ぶ)にアクセスできる必要があるため、トップレベルがstaticなら関数もstaticである必要がある(はず)。これは、メソッドがデフォルトでstaticでないことを考えると、あまり美しく無いので、避けたい。

他に考えられるのは、コンストラクタかインスタンスメソッドだ。これらについては、明日検討してみることにする。

本日のツッコミ(全2件) [ツッコミを入れる]

_ carino vacche [ baldracche mature fregna gratis segretarie lesbiche ga..]

_ disegna boccale birra [ international harvester truck decoder oasis hotel in can..]

本日のリンク元 | 15 | 14 | 12 | 11 | 10 | 9 | 9 | 9 | 8 | 8 | TrackBack(0)

2005-04-12

_ [Onion]トップレベル2

次にコンストラクタについて考えてみる。トップレベルの呼び出しを、コンストラクタのコードにコンパイルすれば、インスタンスメソッドを呼び出すこともできる。コマンドライン引数をコンストラクタ引数で渡せば、トップレベルからコマンドライン引数にアクセスすることもできる。Javaで書くとこんな感じだろうか。

class TopLevel{
  TopLevel(String[] args){
    //ここにトップレベルの実行文がコンパイルされる
  }
  public static void main(String[] args){
    new TopLevel(args);
  }
}

インスタンスメソッド(例えばrunとする)にコンパイルする場合も、基本的には同じだ。引数としてコマンドライン引数をとるメソッドを作って、それを呼ぶようにすれば良い。例えば、こんな感じで。

class TopLevel{
  TopLevel(){
  }
  void run(String[] args){
    //ここにトップレベルの実行文がコンパイルされる
  }
  public static void main(String[] args){
    new TopLevel().run(args);
  }
}

どちらにしても、大差は無いし、問題も無いように見える。しかし、トップレベルが任意のクラスを継承できるようにしようとすると、問題が発生する。

スーパークラスのコンストラクタが無引数であれば良いが、スーパークラスに引数があるコンストラクタしか無い場合、そのコンストラクタをトップレベルのコンストラクタから呼び出さなければならない。

このとき、スーパークラスのコンストラクタに渡すべき値などは当然分かるわけもないので、引数の型のデフォルト値(intなら0、参照型ならnullなど)を入れることくらいしかできないだろう。そうなると、もうそのスクリプトは正常に動作するかどうかわからない。運が良ければ実行できるかもしれないが、運が悪ければ、スーパークラスのコンストラクタ内で例外が発生して、プログラムが終了してしまうかもしれない。

そうすると、トップレベルが任意のクラスを継承できるようにするなら、staticメソッドにコンパイルするしか無いと思えてくる。どうしたものか。

本日のツッコミ(全3件) [ツッコミを入れる]

_ las chicas mas calientes [ scopare il culo troie russe filmini amatoriali di coppi..]

_ password decoder [ prendilo bocca taratura laser blocco gioco playstation ..]

_ Josef [I like what i can find your site. ]

本日のリンク元 | 13 | 11 | 10 | 10 | 9 | 8 | 7 | 6 | 6 | 6 | TrackBack(0)

2005-04-16

_ [Onion]CVS

Webページを参考にして、SourceForge.jpのCVSリポジトリにソースをインポートした。数十分で終わると思っていたのだが、EclipseのCVSの設定がよくわからず、数時間も費やしてしまった。

本日のツッコミ(全2件) [ツッコミを入れる]

_ sexworld gangbang [ professoresse pompinare super grasse che scopano video ..]

_ delta dental individual insurance price [ phoenix gay chat rooms blocco traghetto messina bella b..]

本日のリンク元 | 37 | 29 | 22 | 20 | 19 | 16 | 16 | 13 | 12 | 12 | TrackBack(0)

2005-04-17

_ [その他]食事

弟と、今年度筑波大学に入って来たいとことその家族とで、つくばセンターの中華料理屋で食事。ここ数年全然会っていなかっただけあって、皆、随分記憶の中の印象と変わっていた。ともあれ、久しぶりに会った人と話すというのは、それだけでなかなか楽しいものだ。

_ [その他]買い物

食事後、弟と一緒に石丸電気とWonderGooを回って、書籍やパソコンなどを見て回る。立ち読みして良さそうだったので、プログラミング言語の概念と構造を購入。あと、以前にUSBメモリを紛失してそのままだったのを思い出して、新しいUSBメモリ(512MB)を購入した。

_ [書籍]プログラミング言語の概念と構造

まだパラパラと読んだ程度だが、内容としては、プログラミング言語一般の概念や、様々なプログラミング言語の意味についてのおおまかな説明といった感じだ。これからちょっとずつ読んで行こう。

本日のツッコミ(全4件) [ツッコミを入れる]

_ uwmmtje6a9 [3ppizxgvrg520e1hl tk2l6jo9wi7r iro8qzzm7miv0txhi ]

_ cm3ii1l00a [zezukz8tufnxb sdexpm9ms orl42qsob8yge6 ]

_ ingoia sborra [ liceali pompinare foto sborrate gay africane sexy amat..]

_ armonica bocca [ blu express gr solaris hotel cancun dvd decoder softwar..]

本日のリンク元 | 14 | 13 | 12 | 9 | 9 | 9 | 8 | 7 | 6 | 6 | TrackBack(0)

2005-04-18

_ [学校][その他]健康診断

先週、健康診断に行くのを忘れていたので、今日行くことに。血圧が結構高かったので、ちょっと心配だ。これからは、食生活にもっと気を使った方がいいかもしれない。

本日のツッコミ(全16件) [ツッコミを入れる]

Before...

_ free ringtones [gyusx7cq2w9kf29e gyusx7cq2w9kf29e gyusx7cq2w9kf29e gyusx7c..]

_ cheap pharmacy online [ cheap pharmacy online ]

_ xgeswlfop uaoqzte [msfwy drlgt brjaqkn brmca oethmz sdvlger ndvtrhz ]

_ vexi cjkwnt [mosz pbxcg koahzuxlm twnxs mtnyawr ksuyplbc gxhnirwja ]

_ filigrana [ filigrana ]

本日のリンク元 | 23 | 12 | 11 | 10 | 8 | 7 | 6 | 6 | 6 | 6 | TrackBack(0)

2005-04-20

_ [Onion]演算子オーバーローディング

Onionでは演算子オーバーローディングを実装するつもりだが、今までどういう仕様については、あまり詳しく検討してこなかったので、ここらでちょっと考えをまとめてみる。

まず思いつくのは、一定の命名規約を決めて、それに従ったメソッド定義を、演算子の定義とみなすという方法だ。例えば、java.math.BigIntegerには、add,subtract,multiply,divideというメソッドがあるが、これはそれぞれ、+,-,*,/演算子のオーバーローディングとみなすことができる。例えば、

m :BigInteger = BigInteger::valueOf(100);
n :BigInteger = BigInteger::valueOf(200);
System::out.println(m * m + n * n);

を、

m : BigInteger = BigInteger::valueOf(100);
n : BigInteger = BigInteger::valueOf(200);
System::out.println(
  (m.multiply(m)).add(n.multiply(n)));

のように変換することができる。このように演算子をメソッド呼び出しに1対1に対応付ける方法でも、それなりには使えるが、問題点がいくつかある。

まず一番問題なのは、このように名前を決め打ちにしてしまうと、既存のライブラリの一部しか演算子オーバーローディングの恩恵を受けられないということだ。例えば、+をaddメソッドの呼び出しだと決めてしまうと、行列演算ライブラリがあったとして、加算メソッドがplusだったりすると、+演算子を使用することはできなくなってしまう。

ある演算子に対応付けられるメソッド名を増やそうにも、演算子からメソッド呼び出しに1対多の対応を付けることはできない。どのメソッドに対応づければ良いのかが、演算子だけからでは判断できないからだ。

また、もう1つの問題としては、元のクラスライブラリが想定していないデータ型同士の演算は定義できないことだ。例えば、BigIntegerとintの足し算を演算子+で行おうとしても、BigIntegerのaddメソッドの引数は、BigInteger型なので、int型との演算を行うことはできない。

これらの問題を解決するには、演算子の種類と適用されるデータ型に対して、メソッド呼び出しをマッピングする仕組みが必要だと思う。シンタックスとしては、こんな感じだろうか。

//BigInteger同士の加算は、addメソッドを呼び出す
operator m:BigInteger + n:BigInteger = m.add(n);

/* * BigIntegerとintの加算は、nをBigIntegerに変換してから、 * addメソッドを呼び出す */ operator m:BigInteger + n:int = m.add(BigInteger::valueOf(n));
//Matrix同士の加算は、plusメソッドの呼び出し operator m:Matrix + n:Matrix = m.plus(n);

このような仕組みを作れば、既存のクラスライブラリのメソッドに対して、自由に演算子を割り当てることが可能になる。

本日のツッコミ(全83件) [ツッコミを入れる]

Before...

_ Terry [Buy Proactol]

_ free tracfone ringtone [free tracfone ringtone ]

_ jhfj [hjjddhjhjdhgjghdjhdjhjhjhgdjfh]

_ generic ativan [ generic ativan]

_ mad_daemon [www.MADSOFT.ru C珸闔驍纃逶MMORPG, 髀纐葯謌艾頌��蓍 轢 褥闍/ 關鈔琅礦頏黴譛逶蓊韲碼鴈矗..]

本日のリンク元 | 145 | 45 | 33 | 13 | 12 | 11 | 8 | 7 | 6 | 5 | TrackBack(0)

2005-04-28

_ [ジョギング]5km

久しぶりに走ったせいか、かなり疲れた。

本日のツッコミ(全4件) [ツッコミを入れる]

_ Sumashi [来週から僕もジョギング参加します。 よろしく。 ]

_ みずしま [了解。>ジョギング ]

_ avventuroso legare [ anale viejas peludas gerontofilia anale fraces romantic..]

_ health dental vision insurance [ hotel imperial las perlas cancun mexico download dvd dec..]

本日のリンク元 | 39 | 27 | 17 | 14 | 11 | 10 | 10 | 10 | 9 | 8 | TrackBack(0)

Mizushima Kota/e-mail: i021216{at}coins.tsukuba.ac.jp/SKype ID: mizu_standard