ToDo:
_ free online poker tightpoker [[url=http://blog.360.yahoo.com/blog-_arKlbE8K_Zm8ymmxxPQuM..]
_ texas holdem poker [http://blog.360.yahoo.com/blog-vLfI76snealAyjUHprOTxFUe03...]
_ t辿l辿charger poker texas holdem en ligne [<a href=http://blog.360.yahoo.com/blog-PQOiezY2dKhV.zDupFJ..]
_ jugar poker texas holdem [[url=http://blog.360.yahoo.com/blog-Z1HQxWc6dLOQcFw_JMDmgL..]
_ jugar al instante paginas web [[url=http://blog.360.yahoo.com/blog-6_hDx7YkKfQJZOrW0cW_fG..]
_ harveys casino hotel [<a href=http://blog.360.yahoo.com/blog-OTGpvV4_K6kYoeY5X.k..]
_ juego de dados poker [http://blog.360.yahoo.com/blog-APDU5yA0KqRAw767eiWg5nbRPki..]
_ metodi roulette [<a href=http://blog.360.yahoo.com/blog-GU2OSpskLaJgvLZHiKb..]
_ ruleta americana linea [[url=http://blog.360.yahoo.com/blog-Zeofmmcgea.sYsiIFvEX3t..]
_ btdino casino online [<a href=http://blog.360.yahoo.com/blog-H0C2oW89YrVbd7PQvDN..]
_ Sumashi [文字通りつっこみ。 上のはなんだ? ]
_ mizu [12/8の日記を書いたつもりが、間違って12/9に書いてしまったのが、そのまま残ったため、日付だけが残っている状態に..]
_ nere maggiorate [http://www.pornostar-lesbiche.dumwzd.cn piedi che fanno se..]
_ tonya shemale video [http://fighe-nuda.bcokp.cn cuentos animados sexy http://tr..]
_ foto ventenni tettone [http://ancona-professoressa-nuda.szfuq.cn perverse culi pe..]
_ Aaron [<a href="http://georgij1971.pochta.ru/21556130836.html">驟鞨..]
_ Arianna [http://stojan1952.pochta.ru/sms-pozdravleniya-godom/ <a hr..]
_ Aidan [http://boris1989.nm.ru/dizayn-kuhon.html http://boris1989...]
_ Angel [<a href="http://iraklij1985.smtp.ru/novogodniy-kvn.html">н..]
_ Austin [http://stojan1952.pochta.ru/21211610691.html http://stojan..]
_ free on line casino [Complete <a href=http://blog.360.yahoo.com/blog-_.90i.Ayc..]
_ apostar dinero portal web [http://blog.360.yahoo.com/blog-G1_.tLc3I_4r.9hKb6k_QC7aghw..]
_ ganar premios [http://blog.360.yahoo.com/blog-nSaFtRw9erTzvzdBqz0tHQ--?p=..]
_ texas holdem online flash [[url=http://blog.360.yahoo.com/blog-SRV9kRojerWtFiapNjhN5L..]
_ internet roulette [http://blog.360.yahoo.com/blog-5KT37O09K_YCGDVclUGVV4SaegM..]
とりあえず、簡単なプログラムが動くようになってきた。例えば、
module hello;
export class Hello{
export:
dec! main(args :[]#java:lang:String){
System::println("hello");
}
}
のようなプログラムがコンパイルできる。ちなみに、このコードをコンパイルした結果を逆アセンブルしたものは、以下のようになる。
Compiled from "<generated>"
public class hello.Hello extends java.lang.Object{
public static void main(java.lang.String[]);
Code:
0: getstatic #12; //Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #14; //String Hello
5: invokevirtual #20; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: return
public hello.Hello();
Code:
0: aload_0
1: invokespecial #30; //Method java/lang/Object."<init>":()V
4: return
}
サークルのミーティングが終わった後に、CoCo壱番屋にカレーを食べに行くことになった。当初、普通のカレーを頼む予定だったのだが、後輩が1300gカレーに挑戦するらしく、自分も挑戦しないかと言ってきたので、成り行きで挑戦するはめに。
以前挑戦したときは、1300gがいっぺんに出てくる形だったが、今は 700g,300g,300gの順に出てくる方式に変わったようだ。こうすることによって、初めの1皿でギブアップした場合に、支払い額が少なくなるということのようだ。
以前挑戦したときは、700gくらいでギブアップしたので、今回もそのくらいでギブアップになるだろうと思っていたら、意外と普通に胃に入ってくる。結局、15〜16分で完食してしまった。いつの間に、こんなに食べられるようになったんだろう?やはり、普段、角ふじで800gつけ麺なんか食べているせいだろうか。
_ black jack [http://blog.360.yahoo.com/blog-H37iLoI8eqp_S.8j7MMnogdnltD..]
_ black jack [http://blog.360.yahoo.com/blog-H37iLoI8eqp_S.8j7MMnogdnltD..]
_ jeu de poker pour pc [<a href=http://blog.360.yahoo.com/blog-KH7pV2I6d6MkoQ8aLQE..]
_ card credit debt reduction solution [http://blog.360.yahoo.com/blog-dlZaUFc0KfAy6aDpfnRHNgzKKXW..]
_ card credit debt reduction solution [http://blog.360.yahoo.com/blog-dlZaUFc0KfAy6aDpfnRHNgzKKXW..]
_ casino bonus no deposit [<a href=http://seng321dev.jacktian.com/wp-content/1/approv..]
_ play keno [http://blog.360.yahoo.com/blog-.dvnz4Apfqjz9L_MEdGgE9b9mg-..]
_ 24 ctu ringtones [http://360.yahoo.com/blog-kmbrr7wieK6AYr.IerWNTvgpCECP?p=2..]
_ online video poker game [http://www.russellrodrigues.com/blog/wp-content/1/lotto-za..]
_ on line casino wagering [<a href=http://blog.360.yahoo.com/blog-YOngMws3frWP_wV9ZjZ..]
複数のクラスがコンパイルできるようになった。あとは、インタフェースがコンパイルできるようになれば、基本的な機能は大体実装できたことになる。
以下のプログラムは、現在コンパイルできるプログラムの例。
module hello;
export class Person{ @name :String; @age :int; export: new(name :String, age :int){ self@name = name; self@age = age; } name() :String { return self@name; } age() :int { return self@age; } }
export class Hello{ export: ::main(args :[]String){ let person = new Person("Hoge", 21); System::out.println(person.name); } }
_ free texas hold em poker [<a href=http://blog.360.yahoo.com/blog-Z_VKN343dLMGRX1uFCI..]
_ juego instantaneo portal [<a href=http://blog.360.yahoo.com/blog-o_96sBI8fampmhMk7D_..]
_ online poker site [http://blog.360.yahoo.com/blog-qc9dhz8ldKiyJ6w2pXheE.ZKcRA..]
_ online poker school [[url=http://blog.360.yahoo.com/blog-ObFURkkyeqotCTXX3XHxPy..]
_ coupons bonus casino sans depot [[url=http://blog.360.yahoo.com/blog-pQSGKvIydKiWC2ShjDYXta..]
昨日までに、新たに暗黙の変数宣言を行う機能を追加してみた。暗黙の変数宣言とは、代入が行われたとき、そのスコープで代入する変数が存在しなければ、その名前の変数が新たに宣言されるというもので、 たとえば、
a = 1;
とあったとき、aがその時点でのスコープに存在しなければ、aがint型として宣言される。以下は、そのサンプルコード。
module demo;
import{ javax.swing.JFrame; javax.swing.JButton; javax.swing.JTextField; javax.swing.JPanel; java.awt.BorderLayout; java.awt.event.ActionListener; java.awt.event.ActionEvent; javax.swing.UIManager; }
export class GUI extends JFrame conforms ActionListener{ @text: JTextField; export: actionPerformed(event : ActionEvent){ button = event.getSource$JButton; @text.setText(button.getLabel); } new:("デモ用GUI"){ setDefaultCloseOperation(JFrame::EXIT_ON_CLOSE); setSize(800, 600); pane = getContentPane(); @text = new JTextField; pane.add(@text); north = new JPanel;
for i = 1; i < 5; i = i + 1 { button = new JButton("Button".concat(Integer::toString(i))); button.addActionListener(self); north.add(button); }
pane.add(north, BorderLayout::NORTH); pane.add(@text); }
::main(args :[]String){ UIManager::setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); frame = new GUI; frame.pack; frame.setVisible(true); } }
Javaで同じようなコードを書くのに比べて、かなり記述が簡潔に なっている。これで、トップレベルに直接実行文を書けるようにしたりすれば、スクリプトとしてもそれなりに使えそうな気がする。
_ texas holdem poker pc [Complete <a href=http://360.yahoo.com/blog-H._hzVs5f6PrF3..]
_ video poker software [<a href=http://blog.360.yahoo.com/blog-G2nBD6AhLv.kjeG3Rrc..]
_ card consolidation credit debt unsecured [http://blog.360.yahoo.com/blog-q0yGjvQrK_VeC8o42c.iy.sJNun..]
_ juegos casino portales internet [<a href=http://blog.360.yahoo.com/blog-hjUgvvo6frQd36rLmi4..]
_ advance cash check credit no advance cash check credit no online [http://blog.360.yahoo.com/blog-KBle7Os9erZ5IHHFDYApDe2sbvO..]
_ ganancia casino [<a href=http://blog.360.yahoo.com/blog-YsCUIlw2bqNxcpGSMeK..]
_ t辿l辿charger poker texas holdem en ligne [<a href=http://blog.360.yahoo.com/blog-lfflFIkzfqhOChLz6.m..]
_ advance cash check credit no advance cash check credit no online cash advance no credit check [<a href=http://blog.360.yahoo.com/blog-eTBfJh0hdLIZnTeVAQC..]
_ online casino slots [[url=http://blog.360.yahoo.com/blog-F9vKsg0jKPaYt_k1nW3G9o..]
_ kostenlose kasino spiele [[url=http://blog.360.yahoo.com/blog-8iB45BM8YrTwLgwnDkcUse..]
Onionに導入予定の機能について。
最近の言語では、クロージャはかなり一般的だ。Onionでもクロージャを導入しようと思っているが、Javaのような言語をベースにクロージャを導入すると、既存のライブラリとの親和性が問題となる。
たとえば、クロージャがあると便利な局面の1つとして、イベントハンドラがあるが、JavaのクラスライブラリはActionListenerなどの特定の インタフェースに適合するオブジェクトしか、イベントハンドラとして受け入れない。
そのような状況でクロージャをイベントハンドラとして使えるようにするには、ラッパークラスを作るか、クロージャから既存のクラスのオブジェクトへの自動変換を行うしかない。
Java VM系スクリプト言語では、前者のアプローチを取る場合が多いようだが、そうすると実行に必要なライブラリが増えてしまう。Onionでは、できるだけ素のまま(JREのみ)でも実行可能なコードを出力したいので、後者のアプローチを取ることにした。
たとえば、下のようなクロージャをイベントハンドラとして使用したコードがあったとする(クロージャの記法は、Groovyのものを参考にした)。
...
button.addActionListener({|event :ActionEvent|
System.out.println("Button Pressed");
});
...
このコードは、Onionでは以下のように変換されるようにしたい。
class ActionListenerClosure implements ActionListener{
private Object[] environment;
ActionListenerClosure(Object[] environment){
...
}
public void actionPerformed(ActionEvent event){
System.out.println("Button Pressed");
}
}
...
button.addActionListner(new ActionListenerClosure(currentEnvironment));
ここで、environmentは、クロージャの外側の環境を表している。クロージャは、そのレキシカルスコープ上の変数を参照可能なため、このようなオブジェクトを渡してやる必要があるためだ。
このような変換を行うには、クロージャの引数の型と個数に対応するメソッド1つだけを持ったインタフェースを見つける必要がある。
まず、代入の右辺で使われた場合は、左辺の型から容易にわかるので問題無い。
問題は、メソッド呼び出しの引数として使われた場合だ。OnionでもJavaと同様にメソッドオーバーローディングが許されているので、適合するインタフェースが複数見つかる可能性があるのだ。これはどうすべきだろう。とりあえず思いつくのは、普通のオーバーローディングの解決同様に、「もっとも特殊な」型に適合すると見なしてしまうことだが、これで問題は無いだろうか。
_ payday cash advance idaho payday cash advance cash advance payday paycheck [<a href=http://blog.360.yahoo.com/blog-NxwkANozfrRc42j0r4o..]
_ la roulette de zidane [<a href=http://360.yahoo.com/blog-dpl4R6kjbrJIO6zanaXyYGnk..]
_ country free music ringtones [http://blog.360.yahoo.com/blog-q0qeKa4_KaIpGIKvUNW9SeJ243m..]
_ jeux gratuits casino poker [[url=http://blog.360.yahoo.com/blog-d_cQ1AcrerDM68DoLRV1P6..]
_ cash advance detroit [<a href=http://blog.360.yahoo.com/blog-EIA4HtI6LKrM2dkyV8V..]
先日のクロージャの記法だが、暗黙の変数宣言と相性が悪い気がしてきた。
たとえば、
listener = {|event :ActionEvent| ... };
とあったときに、listener型が宣言されていない場合、{|event :ActionEvent| ... }に適合する型を検索するのは、結構めんどくさいし、コンパイル速度が落ちそうだ。なので、型名を明示することにして、
listener = ActionListener{|event :ActionEvent| ... };
のようにするほうが良いか。多少冗長になるが、まだなんとか許容できる範囲だろう。
_ new casino online [http://blog.360.yahoo.com/blog-MCsSF4Q0eLMxTa2oTXiQaxjT?p=..]
_ texas holdem game [[url=http://blog.360.yahoo.com/blog-Sk.pGYU0dq1jb7cyeY8BIg..]
_ cash till payday loan [<a href=http://blog.360.yahoo.com/blog-mnHDXl43cqNTC2Wcabd..]
_ jeux de poker casino [<a href=http://blog.360.yahoo.com/blog-7kOwFWEoL7ZUTvtf5wy..]
_ slot machines spielen [[url=http://blog.360.yahoo.com/blog-RLy9mo8lKvdsLMetRu7mNq..]
Mizushima Kota/e-mail: i021216{at}coins.tsukuba.ac.jp/SKype ID: mizu_standard
kanbayashi君に頼まれたので、貼ってみました。
Before...
_ aposnsyc [<A href=http://tido345.xepyuafgbz.com/theme_6947.php>オクラホマ..]
_ bscjpglei [<A href=http://cecyl752.hubpkgma.com/list9418.php>毛深い箱の人</..]
_ pvkdlcqahr [<A href=http://tido345.xepyuafgbz.com/acc2250.php>健康保険の生命ニ..]
_ vjtyyxwj [<A href=http://joboba568.chuxzqliu.com/team7597.php>窓シャッター..]
_ xdynhgwm [<A href=http://safaina615.zgswmzivf.com/acc_359.php>氏茶色のコー..]