$BF|K\8lJQ49$NC=B"+H>3Q6E$b!T/B9@^H(B [$BlM(B] Mono Directions Miguel de Icaza miguel@novell.com ($BK]Lu(B : Atsushi Eno atsushi@ximian.com) $B$3$l$O(B2005$BG/(B11$B7n(B17$BF|$K8x3+$5$l$?(BMono 1.2$B%j%j!<%9D>A0(B(?)$B$N%m!<%I%^%C%W$N$h$&$J$b$N!#86J8$O$3$A$i!#LuCm$O$3$N?'$G2<@~IU$-$K$J$C$F$$$^$9!#(B $B;d$?$A$O$A$g$&$I(BMono 1.1.10 $B$r%j%j!<%9$7$?$P$+$j$G!"$3$l$O:#$N$H$3$m;d$?$A$N:GA1$N%j%j!<%9$G$9!#(B $B$3$N%j%j!<%9$G(BMono 1.2$B$K4X$9$k=EMW$JL$40@.5!G=$O!"(BWindows.Forms$B$N$N(BMono$B3+H/$NA4BNE*$J8+DL$7$K$D$$$F$O!"$$$^;d$,$^$H$a$F$$$k$H$3$m$G$"$j!"8eF|8x3+$5$l$kM=Dj$G$9!#(B $B$^$?!"(BNovell$B$K$*$1$k(BMono$B$NFbItMxMQ$H$+!"(B.NET 2.0$B%j%j!<%9$J$I30ItE*MW0x$J$I$rA[%^%7%s(B: $B0\?"(B * Precise Garbage Collector * $B%3!<%I@8@.$*$h$S:GE,2=(B * C# $B%3%s%Q%$%i(B * Visual Basic $B%3%s%Q%$%i(B * $B%3!<%I%"%/%;%9%;%-%e%j%F%#(B * ASP.NET * API$B$N0BDj@-(B * Gtk# * Google Summer of Code $B%W%m%8%'%/%H$NE}9g(B * JScript $B%3%s%Q%$%i(B $B%3!<%I3+H/%W%m%;%9(B Mono 1.1.xx$B%7%j!<%:$,(B1.0.xx$B$KB8:_$9$k?tB?$/$N=EMW$J=$@5$r2C$($i$l$F$-$?$3$H$+$i!";d$?$A$O%f!<%6!)$7$F$$$^$9!#(B $B%j%0%l%C%7%g%s$r2sHr$9$k$?$a$K!";d$?$A$O?tB?$/$N$3$H$r9T$C$F$-$^$7$?(B: * $B;d$?$A$OA4$F$N%F%9%H$r%j%j!<%9A0$N%W%m%;%9(B`make distcheck'$B$KE}9g$7!"4{CN$N%P%0$r;D$7$?$^$^$G!J@53N$K$O!"DL$k$b$N$H$5$l$F$$$k%F%9%H$,DL$i$J$$$^$^$G!K%j%j!<%9$7$J$$$h$&$K$7$F$$$^$9!#(B * $B;d$?$A$O(BNUnit$B%F%9%H$,DL2a$9$k$h$&$K!"$"$k$$$O4D6-8GM-$N$b$N!J%$%s%?!<%M%C%H$K%"%/%;%9$7$?$jFCDj$N%[%9%H$K@\B3$7$?$j$9$k$h$&$J$b$N!K$K$D$$$F$O!"I8=`$GL58z$H$9$k$h$&$K$7$F!"%P%0$r=$@5$7$F$-$^$7$?!#(B * $B?75!G=$OJL$N%V%i%s%A$G3+H/$7!"40@.$7$?:]$K$=$N5!G=$r%a%$%s$N%j%]%8%H%j$K!V>eN&!W$5$;$k$h$&$J3+H/$r;O$a$^$7$?!#(B $B;d$?$A$O$3$NJL%V%i%s%A3+H/$r?7$7$$J8;zNs>H9g%U%l!<%`%o!<%/!"(BASP.NET$Be$K%G%W%m%$$G$-$k$h$&$J$b$N$H$9$k$?$a$G$9!#$3$l$O%+!<%M%k(B2.6.xx$B%j%j!<%9$N@:?@$KDL$8$k$b$N$,$"$j$^$9!#(B $B0lHLE*$J%k!<%k$H$7$F;d$?$A$O?75!G=$r:n$k$^$($K%P%0$rD>$7$^$9!#(B 1.1.xx$B3+H/$N%5%$%/%k$G9T$o$l$F$-$?$3$H$N>\:Y$K$D$$$F$O!"$=$l$>$l$N%j%j!<%9$N%N!<%H$r;2>H$7$F$/$@$5$$(B: 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10. Windows.Forms Windows.Forms$B$NItJ,$@$1$,!";d$?$A$,8x<0$K(BMono$B$r(BMono 1.2$B$K%j%M!<%`=PMh$J$$MW0x$H$J$C$F$$$^$9!#(B $B$3$l$K$O$^$@$$$/$D$+$N5!G=$,4^$^$l$F$$$^$;$s!#;d$?$A$N7W2h$G$O!"ITB-$7$F$$$k5!G=$r:#7n$N=*$o$j$^$G$K40@.$5$;!"$=$l$+$i%P%0%U%#%C%/%9$H!";d$?$A$,%*!<%W%s%=!<%9$G%"%/%;%92DG=$J(BWindows.Forms$B%"%W%j%1!<%7%g%s$r%F%9%H$9$kCJ3,$KF~$j$^$9!#(B $B8=;~E@$G!"$3$l$K(B3$B%v7nDxEYHq$d$9$3$H$r7W2h$7$F$$$^$9!#(B Mono 1.2$B$K$*$1$k;d$?$A$NL\I8$O!"(B.NET 1.1$B$N(BAPI$B$rl9g$K$*$1$k%a%K%e!<$N%^!<%8(B * RichTextBox$B$G$O$$$/$D$+$N5!G=$,$"$j$^$;$s(B: $BA*Br$N%^!<%8%s!"2U>r=q$-!"%$%s%G%s%H!"$$$/$D$+$N(Bpublic$B$J%a%=%C%I$*$h$S%W%m%Q%F%#(B $B;d$?$A$N(BWindows.Forms$B.$5$J%I%i%$%P$N>e$Ge$G$O(BCairo$B$r%l%s%@%j%s%0%(%s%8%s$H$7$F;HMQ$7$F$$$^$9!#%&%#%s%I%&%7%9%F%`$N%I%i%$%P$H$7$F$O!"$U$?$D$N40A4$J%I%i%$%P!J(BUnix/X11$B$H(BWin32$B!K$H$R$H$D$N3+H/Cf%I%i%$%P!J(BOSX$B!K$,$"$j$^$9!#(B $B$$$/$D$+$N%^%$%J!<$JITB-5!G=$H$7$F$O(B: * $B%G%U%)%k%H$N(BWindows.Forms$B%D!<%k%-%C%H$H$7$F$N(BTango Project $B$N%"!<%H%o!<%/E}9g(B * MacOS X$B$N(BWindows.Forms$B%I%i%$%P$N40@.(B * $B%3%s%H%m!<%k$NF)2a$N%5%]!<%H(B * $B%@%V%k%P%C%U%!%j%s%0(B: $B%@%V%k%P%C%U%!%j%s%0<+BN$O%5%]!<%H$7$F$$$^$9$,!"(BMicrosoft$B$N$C$F9q:]2=%F%-%9%H$dJ#9g%9%/%j%W%H!J1Q8l$H%"%i%S%"8l$N:.9g$J$I!K$r(BPango$B$N5!G=$r;HMQ$7$F%l%s%@%j%s%0$9$k5!G=$OA4$/$"$j$^$;$s!#(B * $B%3%s%H%m!<%k$r(BGNOME$B$N%k%C%/%"%s%I%U%#!<%k$K%^%C%A$5$;$k(BGtk+$B%F!<%^%b%8%e!<%k$N:n6H(B * GDI+$B$A$K;O$^$j$^$7$?!#$3$l$O!"(BC# 2.0$B%3%s%Q%$%i$N:n6H$H!"%8%'%M%j%/%9$r%5%]!<%H$9$k$?$a$N(BVM$B$NJQ99$N$?$a$K!"==J,$J;~4V$rM?$($F$/$l$k$b$N$G$7$?!#8=:_$3$l$i$O$$$:$l$b40@.$7$?$b$N$H$7$F$$$^$9!#(B IL$B%"%;%s%V%i$H(BIL$B%G%#%9%"%;%s%V%i$O$[$\40@.$7$F$*$j!"%8%'%M%j%/%9%Y!<%9$N%i%$%V%i%j$b$9$0$K%i%&%s%I%H%j%C%W$G$-$k$h$&$K$J$kM=Dj$G$9!#(B $B%3%"ItJ,$O!":G?7HG$N(BIronPython $B$H(BNermerle$B$,F0:n$9$k$?$a$K==J,$J40@.EY$H$J$C$F$$$^$9!#(B $B3+H/J}$H$buBV$K$O$"$j$^$;$s!#(BMono 1.2$B$O(BWindows.Forms$B$,40@.$7$?;~$K%j%j!<%9$5$l$^$9!#(B System.Xml 2 $B$O$[$\40@.$7$F$*$j!"(Bmscorlib$B$H(BSystem$B$N(B2$B$D$N%"%;%s%V%j$O$^$@B?$/$N:n6H$rI,MW$H$7$F$$$^$9!#(B ASP.NET$B$K$D$$$F$O!"(BASP.NET $B$N%;%/%7%g%s$r;2>H$7$F$/$@$5$$!#(B Mono Debugger Martin$B$,%G%P%C%,$N:n6H$r7QB3$7$F$$$^$9!#8=:_$N$H$3$m!"(B1.x$B%"%W%j%1!<%7%g%s$r%G%P%C%0$9$k$3$H$,$G$-$^$9!J(B2.0$B$O(BCecil$B$N%8%'%M%j%/%9%5%]!<%H$,40@.$7e$K$"$k(BMono$B$H(Bdebugger$B$r;HMQ$7$J$1$l$P$J$j$^$;$s!#$3$l$i$O5^B.$KJQ99$5$l$F$$$k$?$a$G$9!#(B $B;d$?$A$O$$$^!"%G%P%C%,$N@)8B$H%$%s%?!<%U%'!<%9$K$D$$$F!"%U%#!<%I%P%C%/$re$K$"$k%G%P%C%,(B $B%,%$%I$bFI$s$G$/$@$5$$!#(B $B$b$7%G%P%C%,>e$NLdBj$rH/8+$7$?$i!"%P%0%l%]!<%H$rEPO?$7$F$/$@$5$$!#(B MonoDevelop IDE Lluis$B$O!"(BASP.NET 2.0$B$N3+H/$+$i!"(BMonoDevelop IDE$B$N3+H/$K0\F0$7$F$$$^$9!#(B $B;d$?$A$N(BMonoDevelop$B$N%4!<%k$G:G$b=EMW$J$b$N$O!"$3$l$,==J,$K%=%j%C%I$J$b$N$H$J$C$F!"Js9p$5$l$?A4$F$N%/%i%C%7%e$r5/$3$9%P%0$r:,@d$9$k$3$H$G$9!#(B $B5!G=E*$K$O!"(BMonoDevelop$B$O:#$d(BEclipse$B$KN`;w$9$k%W%i%0%$%s(B $B%"!<%-%F%/%A%c$r%5%]!<%H$7$F$$$^$9(B: $B%3%s%]!<%M%s%H$O!"%@%&%s%m!<%I$7$F!"%"%W%j%1!<%7%g%s$r:F%3%s%Q%$%k$;$:$K%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!J(B $B$3$A$i$r;2>H(B) GUI$B%G%6%$%J$NE}9g$O8=:_?J9TCf$G$9!J:#$N$H$3$m(BGlade3$B$G$9$,!"MxMQ2DG=$K$J$jA[%^%7%s(B: $B0\?"(B $B$3$N(B1$BG/4V$N4V!"(BMono JIT$B$O!"$=$l0JA0$K%5%]!<%H$5$l$F$$$?%W%i%C%H%U%)!<%`!J(Bx86, PowerPC, SPARC, SPARC 64$B%S%C%H(B, S390$B!K$K2C$($F!"(B3$B$D$N?7$7$$%"!<%-%F%/%A%c!J(Bx86-64, Itanium, Arm$B%W%m%;%C%5!K$K0\?"$5$l$^$7$?!#(B $B8=;~E@$G!"(BNovell$B$N%A!<%`$K$O?7$7$$0\?"$N7W2h$O$"$j$^$;$s!#$?$@$7!"%3%_%e%K%F%#$N%a%s%P!<$K$O!"(BS390x$B$*$h$S(BMIPS$B$N%5%]!<%H$X$N4X?4$rI=L@$7$F$$$k?M$b$$$^$9!#(B $B@53N$J%,%Y!<%8%3%l%/%?(B $B!J$$$D$b;W$&$s$G$9$,!"(Bprecise garbage collector$B$C$F$I$&Lu$;$P$$$$$N$+$7$i$s!K(B Paolo$B$O?7$7$$%,%Y!<%8%3%l%/%?(B (GC) $B%(%s%8%s$N:n6H$K/$J$/$H$b(Bmain tree$B$G$O!K(B $B?7$7$$(BGC$B%(%s%8%s$O@53N$G!"@$Be4IM}$,$"$j!"%3%s%Q%/%H2=$r9T$&%3%l%/%?$H$J$j$^$9!#$D$^$j!"(BMono$B$N(BGC$B$O!"%a%b%j$,ITI,MW$K$J$jeN&$r;O$a$k$3$H$G$7$g$&!#(B $B%3!<%I@8@.$H:GE,2=(B $B;d$?$A$O?7$7$$%3!<%I:GE,2=$N$?$a$K>/$J$+$i$:;~4V$rHq$d$7$F$-$^$7$?!#$3$N%3!<%I$O%a%$%s$N(BMono$B%j%]%8%H%j$KEj2<$G$-$kMQ0U$,=PMh$D$D$"$j$^$9!#:#8e?t=54V$N$&$A$K!"$5$^$6$^$J%Q%C%A$,Ej9F$5$l$k$N$rBT$C$F$$$F$/$@$5$$!#(B $B8=:_$N$H$3$m!"@8@.%3!<%I$N%Q%U%)!<%^%s%9$r2~A1$9$k0J2<$NItJ,$K$D$$$F!":n6H$,?J$a$i$l$F$$$^$9(B * $B%G%U%)%k%H$G$h$j6/NO$J:GE,2=$rM-8z$K$9$k!J%$%s%i%$%s$H(Bfastdce$B!K!#$3$l$i$K$D$$$F$O!"$I$s$J=EMW$J%j%0%l%C%7%g%s$b2sHr$9$k$3$H$,5a$a$i$l$^$9!J@8@.$5$l$?%3!<%I$NIJC$H!"(BCIL$B%3!<%I$+$iL?Na%j%9%H(BIR$B$ND>@\@8@.!#(B Massi$B$,:G6a9bB.IT;HMQ%3!<%I:o=|(B (Fast Dead Code Elimination$B!K$N%3!<%I$rEj9F$7!"$=$N@bL@$r(Bblog$B$NEj9F$K7G:\$7$^$7$?!#(B Massi$B$O(BHSSA$B%Y!<%9$N%U%l!<%`%o!<%/$H$=$l$K4p$E$/IT;HMQ%3!<%I:o=|$N:n6H$b9T$C$F$$$^$9!#$3$N:GE,2=$K$D$$$F$O:#=5Cf$K!J$b$&2a$.$^$7$?$,!K%a!<%j%s%0%j%9%H$K%l%S%e!$A$KL\$K8+$($k7k2L$r$b$?$i$9$3$H$G$7$g$&!#(B $B$$$C$?$s$3$N(BHSSA$B$N7W2h$,>j:o=|(B (full redundancy elimination) $B!JItJ,E*:o=|$h$j$O%9%]%C%H$7$d$9$$$b$N$G$9!K!#(B * $BItJ,E*M>>j:o=|(B (partial redundancy elimination$B!K!J%9%]%C%H$9$k$N$b07$&$N$bFq$7$$!K(B $B%3!<%I$NIJiD9%3!<%I:o=|$K$h$C$F@8$8$k0l;~JQ?t$NDI2C$K$h$C$F!"0-1F6A$re5-$NLdBj!J$*$h$S$=$NB>$NLdBj!K$r2r7h$9$k$?$a$K!"(BZoltan$B$,%D%j!<%Y!<%9$N(BIR$B$r(BMono$B$+$i:o=|$9$k:n6H$r3+;O$7$^$7$?!#(B $B$3$N%9%F!<%8$r2r>C$9$k$3$H$G!"%l%8%9%?3NJ]$O%Y%?!<$J;E;v$,$G$-$k$h$&$K$J$j$^$9!J8=:_$O%l%8%9%?3NJ]$,%D%j!<%N!<%IFbIt$G$O8+$($^$;$s!K!#$$$C$?$s$3$l$,MQ0U$G$-$?$i!">iD9:o=|$N:GE,2=$,!"e$9$k$+$I$&$+$r!"7hDj$9$k$3$H$,=PMh$^$9!#$3$N?7$7$$(BIR$B%;%C%H%"%C%W$N3+H/$O!"JL$N%V%i%s%A$G9T$o$l$kM=Dj$G$9!#(B C# $B%3%s%Q%$%i(B C# $B%3%s%Q%$%i$K$O(B2$B$D$N%(%G%#%7%g%s$,$"$j$^$9(B: * gmcs: $B:G?7$N(BECMA$B;EMM!JBh(B3$BHG!K$r40A4$K%5%]!<%H$7!"(B2.0$B%i%$%V%i%j$r;2>H$9$k%P%$%J%j$r@8@.$7$^$9!#(B * mcs: $B:G?7$N(BECMA$B;EMM!JBh(B3$BHG!K$+$i%8%'%M%j%/%93HD%$r=|30$7$?$b$N$r%5%]!<%H$7$^$9!#(B1.0$B%i%$%V%i%j$r;2>H$9$k%P%$%J%j$r@8@.$7$^$9!#(B 2005$BG/(B11$B7n;~E@$G$N(Bgmcs$B%3%s%Q%$%i$N%5%]!<%H$K$O!"$R$H$DB-$j$J$$5!G=$,$"$j$^$9(B: $BI8=`;EMM$K$*$1$k:G=*CJ3,$G$N(Bnullable types$B$NJQ99$G$9!#$=$l0J30$O!"%3%s%Q%$%i$O5!G=E*$K$O40@.$7$?$3$H$K$J$C$F$$$^$9!#(B C#$B%3%s%Q%$%i$O;d$?$A$N:n6H$N%3%"$H$J$C$F$$$k$N$G!";d$?$A$O%P%0%U%#%C%/%9$K%U%)!<%+%9$r$"$FB3$1$^$9!#:G?7$N(BC# 3.0$B$N5!G=$O!"o$K?JE8$7$?CJ3,$K$"$j!"(BMono 1.2$B$G$bMxMQ2DG=$K$J$k$G$7$g$&!#$7$+$7!"(BCAS$B$OZ$7$^$;$s!#$^$@%3!<%I8!>Z$N5!G=$,ITB-$7$F$$$^$9$7!"(B2.0$B$G$O?7$7$$L$uBV$r$3$A$i$K$^$H$a$^$7$?!#(B CAS$B$N%Q!<%_%C%7%g%s$,$$$+$K@_Dj$5$l$k$+!"$H$$$&E@$K$D$$$F$O!"H`$,$3$A$i$K$^$H$a$^$7$?!#(B Sebastien$B$O!"(BFxCop$B$K6a$$@:?@$K4p$E$/0lHLE*$J%P%0H/8+%D!<%k$r:n@.$7$^$7$?!#$3$l$O;d$?$A$N%i%$%V%i%j$GE,@Z$K(BCAS$B%k!<%k$r@_Dj$9$k$?$a$K;HMQ$5$l$F$$$^$9!#(BGendarme$B$N%Z!<%8$G>\:Y$rCN$k$3$H$,=PMh$^$9!#(B ASP.NET $B;d$?$A$O!"(BMono 1.1.9$B$G!":,K\E*$K%"%C%W%G!<%H$5$l$FBgI}$K9bB.2=$7>J%a%b%j$K$J$C$?%P!<%8%g%s$N(BASP.NET$B$r%j%j!<%9$7$^$7$?!#;d$?$A$N?7$7$$$N8@8l%b%8%e!<%k$HF1MM$K?6$kIq$&$3$H$K$J$j$^$9!#$?$H$($P!"%f!<%6!<$d4IM}/9T$$$^$7$?!#(B API$B$N0BDj@-(B API$B$N0BDj@-$K$D$$$F(B: System.*$B$K$D$$$F$O0BDj$7$F$*$j!";d$?$A$O(B"corcompare"$B%D!<%k$r;HMQ$7$F!"$=$N8_49@-$r8!>Z$7$F$$$^$9!#(B.NET 1.1.x$B$N(BAPI$B$O!J(BMono 1.0 $B$N5!G=$K5-=R$7$?$H$*$j$K!KHE*$J$b$N$G$9!#(B Gtk# Gtk#$B$N%P!<%8%g%s(B2.4$B$,%j%j!<%9$5$l$^$7$?!#$3$N%j%j!<%9$N?7$7$$5!G=$O$3$A$i$K$^$H$a$i$l$F$$$^$9!#$3$l$O!"8=;~E@$G:G$b0lHLE*$KMxMQ2DG=$J(BGtk 2.4$B$K%P%$%s%I$5$l$F$$$^$9!#(B $B;d$?$A$O!"(BGtk# 1$B$+$i(BGtk# 2$B$K0\9T$9$k3+H/