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

bind の謎

openJFXのフォーラムより Canvas { var circles = bind [] content: bind [circles, View { content: Button { onMouseClicked: operation(e:MouseEvent) { insert Circle { 略 } into circles; } } }] } ↑は,期待通り動くけど,↓は,動かないんだって Canv…

JavaFX Tips

こんなクラスを作ってみた class RangedString { attribute src: String; attribute b: int; attribute e: int; attribute toString:String; } attribute RangedString.toString = bind src.substring(b,e); var r=RangedString {src: "aiue" b:1 e:4}; なぜ…

JavaプログラムをJavaFXに移植しよう

上のFlashスクリプト(仮称)のコンパイラがJavaで書かれているから,JavaFXに移植しようと思う(bind を使いたいから)どうせ中身はJavaなんだからコンバータ一発でうまくいくだろう.とおもったら class Tesuto2 { attribute list:Vector; // エラー } だ…

Flash上で動くスクリプト言語のテスト

http://219.94.147.26/tonyu/flash/test/tonyumov.swfとりあえず x,y,setRotation, r,g,b あたりをいじって遊んでみてくださいActionScript の主要なクラスを呼び出せるようにしてある...はずだけど,製作者もためしていないあとエラーメッセージはDebugg…

できた

return bind 式 という書き方ができるのか import javafx.ui.*; public class Tesuto2 { attribute x:String; attribute y:String; operation goukei():String ; } operation Tesuto2.goukei():String { return bind "{x}と{y}."; } var tes = Tesuto2 {x:"…

JavaFXはじめました

import javafx.ui.*; public class Tesuto2 { attribute x:String; attribute y:String; attribute goukei: String; } var tes = Tesuto2 {x:"山" y: "川"}; var goukei=bind "{tes.x}と{tes.y}"; // *A var win = Frame { title: bind " JavaFX" width: 200…

ちょっと衝撃 Packrat Parsing

失敗するとバックトラックして構文解析をやりなおす点や,「a | b 」とは書かず「a / b 」 と書いて「aを失敗したらbを解析」という意味になる点など,これは実はTonyuのパーサがこの方式.しかもこのPackrat Parsing は公表されたのは 2002年,Tonyu の 公…

キーワード集

飲み会などで拾った単語を列挙KL-1[言語]の部分リスト,Rats[パーサジェネレータ], fortress[言語], Scala[言語], SXML[記法] ガード[言語要素], Transaction Memory[並列処理], LLVM/LVM[汎用アセンブラ], RTL[中間コード] ,Specint[ベンチマーク],…

Swoppで発表

「並列」に関するワークショップなのでTonyuの並列性について述べた発表. ゲームはオブジェクトがたくさんでてきて,それぞれ自分の意思で動く 状態遷移を自然に書くには,それぞれが実行単位をもったほうがよい この仕組みを実現するにはコルーチンが一番…

JavaFX と Incremental Evaluation

この前の遅延評価XMLパーサに似たものキーワード: Incremental Evaluation http://portal.acm.org/citation.cfm?id=117012&dl=ACM&coll=GUIDE この「Incremental Evaluation」を見つけたきっかけは,最近気になる「JavaFX」 http://satoshi.blogs.com/life/…

Aroeの開発がTonyuほど快適でない理由

「コンパイル中が終わるのを待ってから実行ボタンをおさないとコンパイル結果が反映されずに実行」 という問題を解決すればすこしは快適になる気がしてきた

Aroe をTonyuに近づける

やっぱりAroeのキラーアプリは「Flashで動くTonyu互換環境」にしぼることに. 開発環境(エディタとか)もFlashにする 既存のTonyu と上位互換 なので,Tonyuと互換性があるくらいにAroeの言語仕様を改訂.手始めに foo {|int x,int y|} というRubyっぽい記…

excel は「代入可能な純粋関数型言語」?

セルを書き換えること(代入)ができるわりに,循環参照は許容されていない(ループはかけない)というあたりがそんな気にさせる.

遅延評価を利用したXSLTパーサ

今日読んだ論文キーワード: excel lazy evaluationDocument querying and transformation: Lazy XSL transformations Steffen Schott, Markus L. Noga November 2003 Proceedings of the 2003 ACM symposium on Document engineering DocEng '03 XSLTに限ら…

Javascriptが動く,Javascriptで動く?

http://japan.zdnet.com/oss/story/0,3800075264,20351082,00.htmついにきたか.

scope chain prototype chain

で検索してひっかかった:http://timotheegroleau.com/Flash/articles/scope_chain.htmなかなかいい感じにFlashをいじめています. Did you understand it all? 無理.

RubyもTonyu

Ruby1.9は継続と“Fiber”をサポート - http://www.atmarkit.co.jp/news/200706/12/rubykaigi2.htmlうわーついにRubyでも並行処理が書けるようになった.

Prologでも

http://japan.internet.com/webtech/20070606/6.html 「昨日の夜、前から気になっている立ち飲みバルに行ってみたけど、料金リーズナブルでよかったよ」 actor(event,user1). goto(event,Bar). time(event,"2007/06/05"). care(user1,Bar). evaluator(eval,u…

Ruby の IDE にコード補完はあるのか?

CodeGear、Ruby統合開発環境の詳細を明らかに - http://www.atmarkit.co.jp/news/200706/04/codegear.html 「動的スクリプト言語のサポートには、静的な言語とは異なる難しさがあります。例えばコードジェネレーションのように、まだ実装していないメソッド…

Ocaml 奮戦

Ocamlをさわってみた > let rec pow x y = if y=1 then x else (pow x (y-1)) * x ;; val pow : int -> int -> int = > pow 2,1;; - : (int -> int) * int = (, 1) なんか変な結果がでる... if y=1 then x else (pow x (y-1)) * x ;; は (if y=1 then x e…

1から2を作るのは難しい

Javaを知らない学生に class Test{ public static void main(String argv[]) { System.out.println("こんにちは"); } } を教えて,「じゃあ こんにちは と さようなら を1行ずつだすプログラムを作れ」といったところで class Test{ public static void main…

Eclipse プラグイン挫折中

http://www.atmarkit.co.jp/fjava/rensai3/eclipsepde01/eclipsepde01_1.htmlをみながら,プラグインを作ってみる.もちろん,これは単なるHello, World(メニューバーにSample Menuとでて,選択するとメッセージが出る) のテンプレなのでできるに決まって…

%a=式 の % て何?

よくでてくるので補足.式 の型をT とするとき, T a=式; と同等の変数宣言.Aroeの記法. %a=3 なら int a=3; %a="test" なら String a="test"; for (%a: list) {} なら for (T a: list) {} , ただし list の型はCollection

応用

http://d.hatena.ne.jp/hoge1e3/20070317#p2 で言っていた http://q.hatena.ne.jp/xmlrpc>.と書いた時点でEclipseのコードヒントがquestion という候補を出してくれるくらいがいい. もこれで作れる. WebService s="http://q.hatena.ne.jp/xmlrpc"; s.servi…

昨日のSQLつづき

昨日の埋め込みについての話はびっくりするほどまとまっていなかった.それとは別にやりたいこと: SQL s="select a,b from Product"; for (%rec : s) { print " a=#{s.a} b=#{s.b} \n"; } ってやると,クエリの結果を表示する.ここまではあたりまえ.しか…

問題点

方法1の問題点 たとえば %name = "name"; %word="It's ok"; SQL s="select * from Product where #{name} = #{word} "; は select * from Product where 'name' = 'It\'s ok'; と解釈される. Symbol name = "name"; %word="It's ok"; SQL s="select * from …

SQL を生成する文字列埋め込みに関する考察

select * from Product where name = 'hoge'; の hogeの部分に埋め込みをしたい.でもSQLインジェクションはさせたくない,という 場合になるべく簡単に書きたい. 方法1: %word="It's ok"; SQL s="select * from Product where name = #{word} "; とかく…

じゃあJavaでいいじゃん?

Tonyuみたいにわざわざシングルスレッドで無理やり並行処理をやるVMを作る必要はなかったのか?

Javaでコルーチンもどき

Javaでも真面目にスケジューラ書けば,スレッドを1つ1つ割り当てられたオブジェクト群を順番どおり動かせる,という実験スケジューラの動き for (Ball b:balls) { try { synchronized (this) { b.resume(); wait(); } } catch (InterruptedException e) { …

型解決 Prolog

0件!