2007-04-01から1ヶ月間の記事一覧
http://www.atmarkit.co.jp/news/200704/26/hidemaru.html どこまでやってくれるんだろう...まさか自然言語まで?
このプログラムの 1-4の出力結果をそれぞれ答えなさい function cl() {} cl.prototype.exe =function() { alert(this.val); } cl.prototype.test=function() { a=new cl(); a.val="a"; a.exe(); // 1 alert(this.val); // 2 var c=a.exe; c(); // 3 (a.exe)(…
というバカなことをおもいついた #Run * A.tonyu while(1) { x++; update(); } * B.tonyu while(1) { y++; update(); } ってかくと,Flashになって動くってやつ.ついでに画像をページに添付すると,その画像をFlashにつかえる.なんでこんなことを思いつい…
というお話を聴いてきた. Yamada 090-123-4567 というXMLから Yamada 090-123-4567 というHTMLを吐いたとする.このYamadaや 090... をWebブラウザでクリックすると編集できて, XMLにも反映される,という仕組み....だけではないはずなんだけど,なん…
class Foo { public void init() { > a=new A(); } } Foo.objects.add("b=new B();"); Foo.removeMethod("init"); Foo.objects.add("c=new C();"); ちなみに >は,Fooクラスのstaticなメンバと思って欲しい.こうすると,ソースファイルに文が追加されたり削…
Eclipseのコード補完がどうなっているのか見たくなったので http://wiki.eclipse.org/index.php/CVS_Howto から,ソースをおとそうとしたら3Gあるというから,CVSを接続した.なんか肝心の org.eclipse.jdt.internal.compiler.ast.* (構文木クラス)がないな…
関数型言語で入力を扱う方法.Haskellでの書き方を忘れたので,Javascriptで同等のことを書いてみる. function cat() { // 入力をうけつけ,その文字を2つつなげて返す関数. return function(f) { readLine( function (s) { f(s+s); }); } } cat()( functi…
議論のなかで沸いて出た先行技術たち. groovy マークアップビルダーが衝撃的http://www.atmarkit.co.jp/fjava/rensai3/devworks05/devworks05_2.html gwt Java-to-JavaScriptコンパイラ.衝撃的.http://www.atmarkit.co.jp/fwcr/rensai/googlewebtoolkit01…
Eclipseのコード補完を実装する方法で議論.なぜ文法的におかしい状態で,「この変数はあの型だ」というのがわかるのか,という話.Java以外の他の言語にもコード補完対応させるのは難しいので,うまくサポートする方法があればいいなぁ,という結論に達した…
各言語でVMをつくれば簡単,という意見をいただいた.うーん,そういわれればそうだ.じゃあ,ある言語で書いたVMを他の言語に変換するしくみがあればよい?
キラーアプリ(おなじみ) 組み込み用途 言語エンジンを他のソフトに組み込む 機能をそぎおとす 誕生日をいれると星座を返す標準ライブラリ なでしこ(だっけ?)には入っているそうだ.こういうおもしろ機能が人気をよぶこともある?
プログラミング言語作者のワークショップを開催しました。 (http://d.hatena.ne.jp/kujirahand/20070422) なでしこ、葵などの日本語プログラミング言語の作者,酒徳さんに誘われて「プログラミング言語ワークショップ」に参加してきました. ちなみに葵はす…
class Kakko{ final int a; String toString() { return ""; } } Kakko k=new Kakko(); k.a=3; System.out.println(k.toString()); // (これ以降kは出てこない) と書くとSystem.out.println("");というコードが生成される仕組みがあると,ライブラリが軽くな…
もう1本読んだ論文.1986年と古いが,プログラミング言語からドキュメントをどうやって抽出するか,という話.Multilingual programming: Coordinating programs, user interfaces, on-line help and documentation, Gary Perlman February 1986 Proceedings…
今日読んだ論文.Webアプリケーションでいろんな言語が混ざった状態のを解析する手法. Robust multilingual parsing using island grammars, Nikita Synytskyy, James R. Cordy, Thomas R. Dean October 2003 Proceedings of the 2003 conference of the Ce…
#{ ... } は,「1レベル上(=外側) の言語を参照する」という意味合いと考えられる. ♭{... }は,#{ ... } の中で用いられ,#{ } のすぐ外側の言語を参照する. いっしょじゃん... Statement a = #{generate(#{$b})}; #{generate(#{$c})}; ; out.print (a); …
Ruby でおなじみの #{...} a = "My name is #{name}"; ".. " の中は自然言語,その外側はRubyである,と解釈できるので #{ ... } は,「1レベル上(=外側) の言語を参照する」という意味合いと考えられる.じゃあ,♭{... } があってもいいだろう. ♭{... }は…
小学生 中学生 大学生 なんていうコンボボックスを考えてみよう <select name="mibun"> <option name="elem">小学生</option> <option name="juni">中学生</option> <option name="univ">大学生</option> </select> これらの値をもっともエレガントにあらわすには...列挙型だろうか? enum {elem,juni,univ} 列挙型がない言語って意外と多いので困る.さらに困るのは,elem = 小学生 …
class Person { String name; String mail; } というクラスに対して Javaで書かれた入力フォーム add(new Label("おなまえ")); add(new TextBox(p.name)); add(new Label("メールアドレス")); add(new TextBox(p.addr)); add(new Button("OK")); Javaで書か…
って書くと何のため?とおもわれるだろうが,たとえばこんな想定. マーカーや吹き出しをデータベースにもたせておく それを地図上に出す 普通に載っているサンプルはこんなかんじ Google Map with PHP <Div id="map" style="width:300px; height:300px"><…
PHPにおいてregister_globals をoffにしておかないとなんで危険なのか,という理由:http://blog.ohgaki.net/index.php/yohgaki/2005/11/09/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp_2 foo.php?a=3&b=5 みたいなリクエストがそのまま$a や $bに 代入される…
pygame - http://www.pygame.org/news.htmlちゃんとコルーチンしているかな?[追記] どうも単にupdateというメソッドを呼んでいるだけみたいなので,コルーチンではないようだ.grepでyieldとやってもでてこないし.
print "2+3="+(2+3); と入力しても TypeError: cannot concatenate 'str' and 'int' objects となるをなんとかしてください.
Tonyuのほかにコルーチンをサポートする言語の代表格として,まずPythonをあげて,Tonyuと同じことをさせてみる. from string import Template temp=Template("($x,$y)"); class PlainChar: def __init__(self, x, y): self.x=x; self.y=y; def draw(self):…
コルーチンというのは,スレッドのように並行処理を行う仕組みだが,次の点でちがう 軽量である*1 ユーザが切り替えのタイミングを制御する.(Tonyuではupdate(); 他の言語ではyieldが多い) コルーチンの用途として(http://en.wikipedia.org/wiki/Coroutine)…