Boo

簡単実装の方も同じことをやるようにしてみた

(こんどこそできたー - 気楽に諸々 の続き) macro Connect: assert len(Connect.Arguments) == 1 assert Connect.Arguments[0] isa BinaryExpression connectableAssignExpression as BinaryExpression = Connect.Arguments[0] assert connectableAssignExpr…

こんどこそできたー

(できてなかったー - 気楽に諸々 の続き) class ConnectMacro(AbstractAstMacro): override def Expand(macro as MacroStatement) as Statement: assert len(macro.Arguments) == 1 assert macro.Arguments[0] isa BinaryExpression connectableAssignExpres…

できてなかったー

(できたー - 気楽に諸々 の続き)Reflector で覗いてみたら、簡単実装の方はちゃんとできてるけど、しっかり実装の方は・・・ private static void Main(string[] argv) { HelloWorld con; try { (con = new HelloWorld()).Open(); con.Execute(); } finally …

SharpDeveloper がすぐ落ちる

ちょw文字打ってるだけなのにwww

むずかしー

Expression とか Statement を使いこなせない><

Boo.Lang.Compiler 名前空間は

SharpDeveloper だとインテリセンスが利かないのかと思ったら、参照設定で Boo.Lang.Compiler.dll を追加してやれば OK だた。

ぶー

id:coma2n さんの Boo に関する記事を読んで、僕も最近 Boo を触り始めた。 CLR上でのドメイン特化言語の構築 では macro transaction: return [| tx as ITransactionable = $(transaction.Arguments[0]) try: $(transaction.Body) tx.Commit() except: tx.R…

できたー

IConnectable.boo namespace ConsoleApplicationBoo import System import Boo.Lang.Compiler import Boo.Lang.Compiler.Ast interface IConnectable: def Open(): pass def Close(): pass class ConnectMacro(AbstractAstMacro): override def Expand(macro…