Jump to page: 1 2 3
Thread overview
D Interfaces: An Expose
Apr 06, 2004
Kris
Apr 06, 2004
C
Apr 06, 2004
Derek Parnell
Apr 06, 2004
Patrick Down
Apr 06, 2004
Ilya Minkov
Apr 07, 2004
C
Re: [OT] Wheres Wilson
Apr 07, 2004
C
Apr 07, 2004
John Reimer
Apr 08, 2004
Dave Sieber
Apr 08, 2004
John Reimer
Apr 08, 2004
Golan
Apr 06, 2004
kinghajj
Apr 06, 2004
J C Calvarese
Apr 06, 2004
Ant
Apr 07, 2004
John Reimer
Apr 06, 2004
J C Calvarese
Apr 07, 2004
Kris
Apr 07, 2004
Kris
Apr 07, 2004
J C Calvarese
Apr 07, 2004
Kris
Apr 09, 2004
Kris
April 06, 2004
I believe it's time to do something positive about the state of Interfaces as implemented in D. To this end, I've written a small document detailing what I feel are the issues at hand. It's attached as an MS Word document, and I apologize to those who can't access it because of that.

As noted in the document, it is absolutely not my intent to give Walter a hard time, or to discredit D as a viable and useful language. My goal is simple: resolve some of the real issues surrounding D Interfaces before it goes mainstream with v1.0, such that it will be seen as a serious contender by the commercial-development-sector and avoid being categorized as some pet-project.

Some will say that I'm being unfair to Walter; that he's just one guy working on this thing. While that may be a reasonable argument, the solution would be to delay the v1.0 release.

Take a read, and reach your own conclusions.

With respect,

- Kris


begin 666 D Interfaces.doc
MT,\1X*&Q&N$`````````````````````/@`#`/[_"0`&```````````````!
M````1P``````````$ ``20````$```#^____`````$8```#_____________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M_______________________LI<$`32 )! ``\!*_````````$ ``````! ``
M7"$```X`8FIB:N(]XCT````````````````````````)!!8`(D8``(!7``"
M5P``7!T```````````````````````````````````````#__P\`````````
M``#__P\```````````#__P\``````````````````````&P``````/H`````
M````^@```/H`````````^@````````#Z`````````/H`````````^@```!0`
M``````````````X!````````U@D```````#6"0```````-8)````````U@D`
M``P```#B"0``3 ````X!````````U1X``+8````Z"@```````#H*````````
M.@H````````Z"@```````#H*````````%0L````````5"P```````!4+````
M````5!X```(```!6'@```````%8>````````5AX```````!6'@```````%8>
M````````5AX``"0```"+'P``( (``*LA```$`0``>AX``!4`````````````
M````````````^@`````````5"P`````````````````````````````5"P``
M`````!4+````````%0L````````5"P```````'H>````````60L```````#Z
M`````````/H`````````.@H``````````````````#H*``#;````CQX``!8`
M``!9"P```````%D+````````60L````````5"P``.@```/H`````````.@H`
M``````#Z`````````#H*````````5!X``````````````````%D+````````
M````````````````````````````````````````````````````````````
M````%0L```````!4'@```````%D+``#P! ``60L```````!)$ ``C@```"0;
M``!H````^@````````#Z````````````````````````````````````````
M````````````````````````````````````````````8!P````````Z"@``
M`````"X*```,`````-Z[IQ,<Q $.`0``R @``-8)````````3PL```H```",
M&P``$ ``````````````8!P``/0!``"E'@``, ```-4>````````G!L``,0`
M``"O(@```````%D+````````KR(```````!@' ```````%D+````````#@$`
M```````.`0```````/H`````````^@````````#Z`````````/H`````````
M`@#9````1"!);G1E<F9A8V5S.B!A;B!%>'!O<^D-#51H:7,@:7,@82!C<FET
M:6-A;"!L;V]K(&%T('=H870@=&AE($0@;&%N9W5A9V4@8VQA:6US('1O(')E
M<')E<V5N="!A<R!S=7!P;W)T(&9O<B!T:&4@3T\@26YT97)F86-E(&UE8VAA
M;FES;2X@5&AI<R!G;V%L(&AE<F4@:7,@;F]T('1O(&)E;&ET=&QE('1H92!E
M9F9O<G1S(&5X<&5N9&5D(&)Y(%=A;'1E<CL@<F%T:&5R+"!I="!I<R!T;R!E
M;G-U<F4@1"!H87,@82!R;V)U<W0@86YD('5S86)L92!);G1E<F9A8V4@:6UP
M;&5M96YT871I;VXN($AA=FEN9R!S86ED('1H870L(&]N92!H87,@=&\@9FER
M<W0@<&EC:R!A<&%R="!F86-T=6%L(&EM<&QE;65N=&%T:6]N(&9R;VT@9&]C
M=6UE;G1E9"!C;&%I;7,N( T-#4QE=))S('-T87)T('=I=&@@=VAA="!A;B!)
M;G1E<F9A8V4@<F5P<F5S96YT<RX-#4%N($EN=&5R9F%C92!I<R!A(&UE8VAA
M;FES;2!U<V5D('1O(&1E+6-O=7!L92!I;7!L96UE;G1A=&EO;B!F<F]M('-P
M96-I9FEC871I;VXN(%1H92!V86QU92!O9B!D96-O=7!L:6YG('=I;&P@;F]T
M(&)E(&5X<&QA:6YE9"!F=7)T:&5R('=I=&AI;B!T:&ES(&1O8W5M96YT+"!B
M=70@<W5F9FEC92!T;R!S87D@=&AA="!I9B!Y;W62=F4@979E<B!U<V5D(&%N
M(&%B<W1R86-T+6-L87-S(&%N9"!E>&-L86EM960@DW=O=R&4('5P;VX@9&ES
M8V]V97)I;F<@:71S('!O;'EM;W)P:&EC(&%B:6QI=&EE<RP@=&AE;B!Y;W4@
M=6YD97)S=&%N9"!T:&4@8F%S:6-S(&]F(&1E+6-O=7!L:6YG('-P96-I9FEC
M871I;VX@9G)O;2!I;7!L96UE;G1A=&EO;BX-06X@:6YT97)F86-E(&ES(&YO
M="!A(&-O;F-R971E(&-L87-S+"!I;B!T:&4@<V%M92!M86YN97(@=&AA="!A
M;B!A8G-T<F%C="UC;&%S<R!I<R!N;W0@8V]N8W)E=&4N($EN<W1E860L(&ET
M(')E<')E<V5N=',@86X@86=R965D+75P;VX@8V]N=')A8W1U86P@;V)L:6=A
M=&EO;B!B971W965N(&$@<')O9'5C97(@86YD(&$@8V]N<W5M97(N($QE=))S
M('-A>2!W92!H879E('1W;R!D979E;&]P;65N="!G<F]U<',@;VX@;W!P;W-I
M=&4@<VED97,@;V8@=&AE('=O<FQD+"!C;RUD979E;&]P:6YG('-O;64@<')O
M9'5C="X@5&AE('1W;R!G<F]U<',@=V]U;&0@9V5T('1O9V5T:&5R(&%N9"!H
M87-H(&]U="!T:&4@9&5T86EL<R!O9B!H;W<@=&AE(&UO9'5L92!F<F]M(&]N
M92!T96%M('=I;&P@8V]N=F5R<V4L(&%N9"!E>&-H86YG92!I;F9O<FUA=&EO
M;BP@=VET:"!T:&4@;6]D=6QE(&9R;VT@=&AE(&]T:&5R('1E86TN(%1H;W-E
M(&1E=&%I;',@;6EG:'0@=&AE;B!B92!W<FET=&5N('5P(&%S(&$@8FEN9&EN
M9R!C;VYT<F%C="!B971W965N('1H92!T=V\@<&%R=&EE<RX@268@;VYE('!A
M<G1Y(&9A:6QS('1O(&%D:&5R92!T;R!T:&4@8V]N=')A8W0L(&%L;"!B971S
M(&%R92!O9F8N($AO=V5V97(L(&EF(&)O=&@@<&%R=&EE<R!S=&%N9"!B>2!T
M:&5I<B!O8FQI9V%T:6]N('1H96X@<V]M971H:6YG(&%K:6X@=&\@;6%G:6,@
M:&%P<&5N<R!W:&5N('1H92!T=V\@;6]D=6QE<R!A<F4@8F]L=&5D('1O9V5T
M:&5R+B!4:&ES(&-O;G1R86-T=6%L(&]B;&EG871I;VX@:7,@=VAA="!A;B!)
M;G1E<F9A8V4@<F5P<F5S96YT<RX-06X@26YT97)F86-E(&1I9F9E<G,@9G)O
M;2!A;B!A8G-T<F%C="UC;&%S<R!I;B!O;F4@:V5Y(')E<W!E8W0Z(&$@<VEN
M9VQY(')O;W1E9"!H:65R87)C:'D@*'-U8V@@87,@97AP;W-E9"!B>2!$(&]R
M($IA=F$I(&-A;FYO="!I;FAE<FET(&9R;VT@;6]R92!T:&%N(&]N92!S=7!E
M<BUC;&%S<R!A="!A('1I;64Z(&%B<W1R86-T(&]R(&]T:&5R=VES92X@3VX@
M=&AE(&]T:&5R(&AA;F0L(&%N>2!G:79E;B!C;&%S<R!M87D@:6UP;&5M96YT
M(&UU;'1I<&QE(&EN=&5R9F%C97,N(%1H:7,@96YD;W=S('1H92!I;7!L96UE
M;G1I;F<@8VQA<W,@=VET:"!M=6-H(&]F('1H92!S86UE('5S86)L92!P;W=E
M<B!O9B!M=6QT:7!L92UI;FAE<FET86YC92P@=VAI;'-T('-I9&5S=&5P<&EN
M9R!S;VUE(&]F('1H92!M86IO<B!I<W-U97,N#51H92!);G1E<F9A8V4@;65C
M:&%N:7-M(&ES(&5X<&QI8VET;'D@9&5S:6=N960@=&\@97AP;W-E('1H92!C
M;VYT<F%C="P@=&AE('=H;VQE(&-O;G1R86-T+"!A;F0@;F]T:&EN9R!B=70@
M=&AE(&-O;G1R86-T+B @26X@9&5V96QO<&UE;G0@9W)O=7!S+"!T:&ES(&ES
M(&]F=&5N('5S960@=&\@:&ED92!M971H;V1S(&]F(&$@8VQA<W,@9G)O;2!C
M97)T86EN('-E9VUE;G1S(&]F('1H92!P=6)L:6,@=VAI;'-T(&%T('1H92!S
M86UE('1I;64@;6%K:6YG('1H96T@879A:6QA8FQE('1O(&]T:&5R<RX@07,@
M<W5C:"P@86X@26YT97)F86-E(&-A;B!P<F]V:61E(&$@=FEE=R!U<&]N(&%N
M(&EM<&QE;65N=&EN9R!C;&%S<RX@#4EN=&5R9F%C97,@87)E(&)O=&@@:&EE
M<F%R8VAI8V%L(&%N9"!C;VUP;W-I=&EO;F%L(&EN(&YA='5R92X@5&AA="!I
M<RP@;VYE($EN=&5R9F%C92!C86X@:6YH97)I="!F<F]M(&%N;W1H97(L(&]R
M(&9R;VT@;75L=&EP;&4@;W1H97)S+B!!(&-O;F-R971E(&EM<&QE;65N=&EN
M9R!C;&%S<R!M=7-T+"!O9B!C;W5R<V4L(&EM<&QE;65N="!A;&P@8V]N=')A
M8W1U86P@;V)L:6=A=&EO;G,N(%-U8V@@8VQA<W-E<R!T:&%T(&1O(&YO="!I
M;7!L96UE;G0@=&AE(&5N=&ER92!C;VYT<F%C="!A<F4L(&)Y('1H96ER(&YA
M='5R92P@86)S=')A8W0N($$@<&%R=&EA;"!C;VYT<F%C="X-#0U3;VUE(&ME
M>2!P;VEN=',@86)O=70@=&AE('!R86-T:6-A;"!U<V4@;V8@26YT97)F86-E
M<R!I;F-L=61E.B -#4]N8V4@:6YS=&%N=&EA=&5D('9I82!A(&-O;F-R971E
M+6-L87-S+"!A;B!I;G1E<F9A8V4@8V%N(&)E('5S960@:6X@;&EE=2!O9B!S
M86ED(&-L87-S(&9O<B!A;&P@<F5G=6QA<B!O<&5R871I;VYS+B!);B!T:&ES
M('=A>2P@86X@:6YS=&%N=&EA=&5D($EN=&5R9F%C92!B96AA=F5S(&EN(&5X
M86-T;'D@=&AE('-A;64@;6%N;F5R(&%S(&%N(&EN<W1A;G1I871E9"!A8G-T
M<F%C="UC;&%S<RX@26X@9F%C="P@=&\@=&AE(&-O;G-U;6EN9R!D979E;&]P
M97(@=&AE<F4@<VAO=6QD(&)E('IE<F\@9&EF9F5R96YT:6%T:6]N+B!7:71H
M;W5T('1H:7,@9F%C:6QI='D@;VYE(&-A;FYO="!C;&5A<FQY(&5X<&]S92!M
M;V1U;&%R(&-H=6YK<R!O9B!F=6YC=&EO;F%L:71Y(&%S(&%N($EN=&5R9F%C
M92P@86YD('1H92!F=6YD86UE;G1A;"!B96YE9FET<R!E>'!O<V5D(&)Y(",R
M+" C,RP@86YD(",T('=O=6QD(&)E(&)R;VME;BX-26YT97)F86-E(&-O;G1R
M86-T<R!A<F4@8V]M;6]N;'D@=7-E9"!T;R!S970@=&AE(')U;&5S(&9O<B!M
M=6QT:7!L92!P87)T:65S('1O('!R;W9I9&5D(&-O;7!E=&EN9R!B=70@8V]M
M<&%T:6)L92!P<F]D=6-T<RX@1F]R(&5X86UP;&4L(&]N92!M:6=H="!I;6%G
M:6YE(&$@4')I;G1E<B!D979I8V4M9')I=F5R(&)E:6YG(&5X<&]S960@87,@
M86X@:6YT97)F86-E+B!/;F4@;6EG:'0@86QS;R!A8VAI979E('1H:7,@=FEA
M(&%N(&%B<W1R86-T(&)A<V4M8VQA<W,L(&)U="!T:&%T(&9A:6QS('%U:6-K
M;'D@=VET:&EN(&$@<VEN9VQY(')O;W1E9"!H:65R87)C:'D@*&5A8V@@=F5N
M9&]R(&ES('!R;VAI8FET960@9G)O;2!D97)I=FEN9R!D:7)E8W1L>2!F<F]M
M('1H96ER(&]W;B!C;&%S<RUH:65R87)C:'DI+@U!;B!O9G1E;B!O=F5R;&]O
M:V5D('9A;'5E(&]F(&EN=&5R9F%C97,@:7,@=&AA="!T:&5Y(&-A;B!B92!U
M<V5D('1O(&1E+6-O=7!L92!C;VUP;&5X(')E;&%T:6]N<VAI<',@8GD@86-T
M:6YG(&%S(&$@<')O>'DL(&]R(&)R;VME<BX@5&AI<R!I<R!O9G1E;B!U<V5D
M('1O(')E<V]L=F4@DV9O<G=A<F0M<F5F97)E;F-EE"!I<W-U97,L(&)Y(&)R
M96%K:6YG(&]U="!T:&4@8V]M<&QE>"!P87)T(&]F('1H92!R96QA=&EO;G-H
M:7 @87,@82!P=7)E($EN=&5R9F%C92X@#0U3;RP@=VAE<F4@9&]E<R!T:&%T
M(&QE879E('5S('=I=&@@<F5S<&5C="!T;R!$/R @5V5L;"P@;&5T<R!T86ME
M(&$@;&]O:R!A="!T:&4@:VEN9',@;V8@=&AI;F=S(&1E=F5L;W!E<G,@=VES
M:"!T;R!D;R!W:71H(&EN=&5R9F%C97,L(&%N9"!T:&5N('5S92!A('1Y<&4@
M;V8@<V-O<F5B;V%R9"!T;R!R86-K('5P(&$@8V]M<&%R871I=F4@<F%T:6YG
M+B!$979E;&]P97)S('5S92!I;G1E<F9A8V5S(&EN('1H92!F;VQL;W=I;F<@
M=V%Y<SH-#41E<VEG;B!C;VYT<F%C='5A;"!O8FQI9V%T:6]N<R!B971W965N
M(&EN=&5R86-T:6YG(&UO9'5L97,@=&AA="!A<F4L(&9O<B!W:&%T979E<B!R
M96%S;VXL(&-O;G-T<G5C=&5D(&EN(&ES;VQA=&EO;BX@#5-E="!G<F]U;F0M
M<G5L97,@9F]R('-Y<W1E;7,@=&AA="!A<F4@=&\@8F4@:6UP;&5M96YT960@
M8GD@;W1H97)S+B -1&5C;&%R92!A(&-L87-S(&%S(&EM<&QE;65N=&EN9R!A
M;B!);G1E<F9A8V4L('1H;W5G:"!I="!R97!R97-E;G1S(&]N;'D@<&%R="!O
M9B!T:&4@8V]N=')A8W0@*&%S(&%N(&%B<W1R86-T(&-L87-S*2X-1&5C;&%R
M92!A(&1E<FEV960@<W5B8VQA<W,@87,@:6UP;&5M96YT:6YG(&%N($EN=&5R
M9F%C92P@=VAE<F4@<&%R="!O9B!T:&4@8V]N=')A8W0@:7,@;6%N:69E<W1E
M9"!B>2!T:&4@<W5P97(M8VQA<W,@:6UP;&5M96YT871I;VXN#45X<&]S92!A
M(&-O;F-R971E(&]B:F5C="!A<R!A;B!);G1E<F9A8V4L(&5I=&AE<B!A<R!A
M('9I97<L(&]R(&)E8V%U<V4@=&AE(&EM<&QE;65N=&%T:6]N(&ES('1O(&)E
M(')E;F1E<F5D('5N879A:6QA8FQE(&]R(&AI9&1E;BX-5&5S="!W:&5T:&5R
M(&%N($]B:F5C="!I;7!L96UE;G1S(&$@<W!E8VEF:6,@26YT97)F86-E+"!F
M;W(@=&AE('-A;64@<F5A<V]N<R!A="!T;R!W:'D@;VYE('1E<W1S($]B:F5C
M=',@86=A:6YS="!O;F4@;W1H97(N#51E<W0@=VAE=&AE<B!A;GD@9VEV96X@
M26YT97)F86-E('-U<'!O<G1S(&%N(&%D9&ET:6]N86P@8V]N=')A8W0@*&%N
M;W1H97(@26YT97)F86-E*2X-5&5S="!W:&5T:&5R(&$@8V]N8W)E=&4@8VQA
M<W,M='EP92!I<R!M87-Q=65R861I;F<@87,@86X@:6YT97)F86-E+B!4:&ES
M(&ES('5S960@:6X@=&AE('-A;64@<V-E;F%R:6]S('=H97)E(&]N92!W:7-H
M97,@=&\@=&5S="!W:&5T:&5R(&$@8F%S92UC;&%S<R!I<R!O9B!A(&-O;F-R
M971E(&-L87-S('1Y<&4N(%-U8V-E<W-F=6P@=&5S=&EN9R!I<R!T>7!I8V%L
M;'D@9F]L;&]W960@8GD@86X@=7!C87-T('1O('-A:60@8V]N8W)E=&4@8VQA
M<W,M='EP92X-26YV;VME(&UE=&AO9',@=FEA('1H92!);G1E<F9A8V4L(&%S
M(&]N92!W;W5L9"!V:6$@86X@86)S=')A8W0M8VQA<W,N#41E;&5T92P@;W(@
M;W1H97)W:7-E(&UA;FEP=6QA=&4L(&%N($EN=&5R9F%C92!A<R!O;F4@=V]U
M;&0@86X@86)S=')A8W0M8VQA<W,N#0U!(&-L;W-E(&EN<W!E8W1I;VX@;V8@
M=&AE('!R979I;W5S(&QI<W0@=VEL;"!U;G9E:6P@='=O(&)A<VEC(&-L87-S
M:69I8V%T:6]N('!A='1E<FYS.@U$97-I9VX@=&EM92!C87!A8FEL:71I97,-
M4G5N('1I;64@8V%P86)I;&ET:65S#4QE=))S('5S92!T:&5S92!T;R!C;VUP
M87)E($0@86=A:6YS="!S;VUE(&]T:&5R(&QA;F=U86=E('1H870@8VQA:6US
M('1O('-U<'!O<G0@:6YT97)F86-E<RP@86YD('-E92!W:&%T(&AA<'!E;G,N
M(%1H92!S8V]R:6YG(&UE=&AO9"!A<'!L:65D(&AE<F4@:7,@=&\@9V%I;B!A
M('9A;'5E(&]F(&]N92!W:&5R92!T:&4@26YT97)F86-E(&UE8VAA;FES;7,@
M87)E('!R;W!E<FQY('-U<'!O<G1E9"P@86YD('1O(&QO<V4@82!V86QU92!O
M9B!O;F4@=VAE<F4@=&AE(&UE8VAA;FES;7,@87)E(&)R;VME;BX@02!V86QU
M92!O9B!Z97)O(&ES(&%P<&QI97,@=&\@=&AO<V4@8V%S97,@=VAE<F4@:70@
M;6%K97,@;F\@<V5N<V4@:6X@=&AE(&-O;G1E>'0@;V8@=&AE(')E;&5V86YT
M(&QA;F=U86=E+B!799)L;"!U<V4@=&AE(&YU;6)E<F5D(&ET96US(&9R;VT@
M=&AE('!R:6]R(&QI<W0@87,@86X@:6YD97AI;F<@<V-H96UE+@T-57-A9V4'
M1 =*879A!T-O;6UE;G1S!P<Q!S$',0=%<75I=F%L96YT!P<R!S$',0=%<75I
M=F%L96YT!P<S!S$',0=%<75I=F%L96YT(&%S(&]F($0@=C N.#('!S0'+3$'
M,0=#;VUP:6QE<B!E>'!L:6-I=&QY(&EG;F]R97,@<W5P97)C;&%S<R!I;7!L
M96UE;G1A=&EO;@<'-0<Q!S$'17%U:79A;&5N= <'-@<M,0<Q!T0@97AP;&EC
M:71L>2!E;6ET<R!A8V-E<W,M=FEO;&%T:6]N(&-O9&4'!S<'+3$',0=$(&5X
M<&QI8VET;'D@96UI=',@86-C97-S+79I;VQA=&EO;B!C;V1E!P<X!RTQ!S$'
M1"!E>'!L:6-I=&QY(&5M:71S(&%C8V5S<RUV:6]L871I;VX@8V]D90<'.0<Q
M!S$'17%U:79A;&5N="P@=VET:"!U<V4@;V8@=&AE(&%L:6%S(&ME>7=O<F0'
M!S$P!RTQ!S '06-C97-S+79I;VQA=&EO;B!S;VUE=VAE<F4@=VET:&EN('1H
M92!$('-U<'!O<G0@;&EB<F%R>0<'4V-O<F4Z!S '.0<'!PU7:&%T(&1O97,@
M=&AI<R!T96QL('5S/R!796QL+"!I="!T96QL<R!M92!T=V\@=&AI;F=S.@T-
M1&5S:6=N('1I;64@<W5P<&]R="!F;W(@26YT97)F86-E<R!I<R!A;&UO<W0@
M8V]M<&QE=&4@:6X@1"X@5&AE(&QA8VL@;V8@<W5P<&]R="!F;W(@:6YH97)I
M=&5D(&EM<&QE;65N=&%T:6]N(&ES(&%N(&%N;F]Y86YC92P@=VAI8V@@;&5A
M9',@=&\@82!F;W)E<W0@;V8@<VAE;&P@;65T:&]D<R!T:&%T('-I;7!L>2!I
M;G9O:V4@=&AE:7(@<W5P97(M8VQA<W,@8V]U;G1E<G!A<G0N( T-4G5N=&EM
M92!S=7!P;W)T(&ES(&%B>7-M86PN(%1H92!O;FQY('1H:6YG('EO=2!C86X@
M9&\@=VET:"!A($0@:6YT97)F86-E(&ES('1O(&EN=F]K92!M971H;V1S('5P
M;VX@:70N(%1H:7,@:7,@8W)I<'!L:6YG(&EN(&$@;6%N;F5R(&UO<W0@8W)U
M96PL(&%N9"!D97-T<F]Y<R!M;W-T(&]F('1H92!T<G5E('9A;'5E(&%N9"!D
M97-I9VX@8F5N969I=',@869F;W)D960@8GD@=&AE($EN=&5R9F%C92!M96-H
M86YI<VTN(%1H92!I=&5M<R C,BP@(S,L(&%N9" C-"!N;W1E9"!O;B!T:&4@
M9FER<W0@<&%G92!A<F4@969F96-T:79E;'D@9&5S=')O>65D+B -#4EN('-H
M;W)T+"!$(&EN=&5R9F%C97,@87)E(&YO=&AI;F<@8G5T(&$@<VAI;&P@9F]R
M($UI8W)O<V]F=))S($-/32P@86YD(&$@=&AI;FQY('9E:6QE9"!M87)K971I
M;F<@=&]O;"!F;W(@=&AO<V4@=VAO(&%C='5A;&QY('5S92!);G1E<F9A8V5S
M(&EN(')E86PM=V]R;&0@<V-E;F%R:6]S+@T-2722<R!T:6UE('1O(&1O('-O
M;65T:&EN9R!P;W-I=&EV92!W:71H(')E<W!E8W0@=&\@<F5M961Y:6YG('1H
M97-E(&ES<W5E<RX@26YT97)F86-E<R!A<F4@<V]M971H:6YG('1H870@=&AE
M(&-O;6UE<F-I86PM9&5V96QO<&UE;G0M<V5C=&]R(&QE=F5R86=E<R!O;B!A
M(&1A:6QY(&)A<VES+B!!;GEO;F4@979A;'5A=&EN9R!$(&9O<B!S=6-H(&%N
M(&5N=FER;VYM96YT('=I;&P@96QI;6EN871E(&ET('!U<F5L>2!O;B!T:&5S
M92!G<F]U;F1S(&%L;VYE+B!4:&%T('=O=6QD(&)E(&$@<VAA;64@9F]R($0L
M(&%N9"!N;W0@:G5S="!B96-A=7-E('1H92!O=&AE<B!L86YG=6%G92!A<W!E
M8W1S(&%P<&5A<B!T;R!B92!Q=6ET92!R;V)U<W0@86YD('=E;&P@=&AO=6=H
M="!O=70N#0``````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````! ``, L``#@+```2#0``%@T``/4-``#X
M#0``:PX``'(.```H&P``/QL``%PA````_ #\`/P`_ #T````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````\U"(%"*@A<"(%P:/___P`&-@B!70B!"P`$```8! ``
M&00``',%``!T!0``=04``*0%``"E!0``$@<``#8*``#2"P``- T``'T.``!^
M#@``?PX``+\.``# #@``DQ ``"<2```Q$P``,A,``"P4```M% ``HA0``.84
M``!;%0``X!4``/T```````````````#[````````````````^P``````````
M`````/L```````````````#[````````````````^P```````````````/L`
M``````````````#T````````````````] ```````````````/0`````````
M``````#T````````````````] ```````````````/L```````````````#[
M````````````````^P```````````````/L```````````````#M````````
M````````[0```````````````.T```````````````#[````````````````
M^P```````````````/L```````````````#F````````````````Y@``````
M`````````.8```````````````#F````````````````````````````````
M```'```*)@`+1@,`%*1X``<```HF``M&! `4I'@`!P``"B8`"T8!`!2D> ``
M`0````$!```:``0``%PA``#]````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````````$! `!`0'@%0``8Q8``-\6```U%P``.A@`
M`( 8``#.& ``SQ@``"89```_&0``51D``"<;```H&P``+AL``# ;```U&P``
M/AL``/@```````````````#X````````````````^ ```````````````/@`
M``````````````#X````````````````^ ```````````````/8`````````
M``````#V````````````````[0```````````````.8```````````````#V
M````````````````]@```````````````-T```````````````#=````````
M````````W0```````````````-T`````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````"0```R0!%B0!268!````820!!P``"B8`"T8%
M`!2D> `)```*)@`+1@4`$Z1X`!2D> ```0``!P``"B8`"T8#`!2D> ``$#X;
M```_&P``01L``$,;``!%&P``4!L``%!(``````````````!*````````````
M````2@```````````````$H```````````````!*````````````````````
M````````````````````````````````````````````````````````````
M```````````````&```6) %)9@$```"O```6) $7) %)9@$````"EFP`!=88
M!@$)``8!"0`&`0D`!@$)``8!"0`&`0D`"-9<``0``-H$O >,"L A@ ;:! ``
M``````````````````" !N("`````````````````````( &T (`````````
M````````````@ 8T%P`````````````````````)U@@)!0D%"04)!0IT%P"O
M`!+6* ``@ #___\``0```( `____``$```" `/___P`!````@ #___\``0`3
MUC ``( `!@$`````@ `&`0````" ``8!`````( `!@$`````@ `&`0````"
M``8!```4]@$``!4V`1K6$ ```/\```#_````_P```/\;UA ```#_````_P``
M`/\```#_'-80````_P```/\```#_````_QW6$ ```/\```#_````_P```/\T
MU@8``0H#; !A]@-L```%4!L``%$;``!3&P``51L``%<;``!B&P``8QL``&4;
M``!G&P``:1L``((;``"#&P``:T@``````````````&4```````````````!E
M````````````````90```````````````&4```````````````!K@ ``````
M````````90```````````````&4```````````````!E````````````````
M90```````````````&OX``````````````````````````````8``!8D`4EF
M`0```)0``!8D`1<D`4EF`0````*6; `%UA@&`0D`!@$)``8!"0`&`0D`!@$)
M``8!"0`(UEP`! ``V@2\!XP*P"$`!MH$```````````````````````&X@(`
M``````````````````````;0`@``````````````````````!C07````````
M``````````````IT%P"O`!/6, ``@ `&`0````" ``8!`````( `!@$`````
M@ `&`0````" ``8!`````( `!@$``!3V`0``%38!&M80````_P```/\```#_
M````_QO6$ ```/\```#_````_P```/\<UA ```#_````_P```/\```#_'=80
M````_P```/\```#_````_S36!@`!"@-L`&'V`VP```N#&P``A1L``(@;``"*
M&P``P!L``,$;``##&P``Q1L``,<;``#2&P``TQL``-4;``#Y````````````
M````^0```````````````/D```````````````#Y````````````````94@`
M`````````````/D```````````````#Y````````````````^0``````````
M`````/D```````````````!EQ ``````````````^0``````````````````
M````````````E ``%B0!%R0!268!`````I9L``76& 8!"0`&`0D`!@$)``8!
M"0`&`0D`!@$)``C67 `$``#:!+P'C K (0`&V@0`````````````````````
M``;B`@``````````````````````!M "```````````````````````&-!<`
M````````````````````"G07`*\`$]8P``" ``8!`````( `!@$`````@ `&
M`0````" ``8!`````( `!@$`````@ `&`0``%/8!```5-@$:UA ```#_````
M_P```/\```#_&]80````_P```/\```#_````_QS6$ ```/\```#_````_P``
M`/\=UA ```#_````_P```/\```#_--8&``$*`VP`8?8#; `&```6) %)9@$`
M````"]4;``#8&P``VAL```,<```$' ``!AP```D<```+' ``-!P``#4<```W
M' ``.AP``/D```````````````#Y````````````````^0``````````````
M`&7$``````````````#Y````````````````^0```````````````/D`````
M``````````#Y````````````````9<0``````````````/D`````````````
M``#Y``````````````````````````````"4```6) $7) %)9@$````"EFP`
M!=88!@$)``8!"0`&`0D`!@$)``8!"0`&`0D`"-9<``0``-H$O >,"L A``;:
M! ``````````````````````!N("```````````````````````&T (`````
M``````````````````8T%P`````````````````````*=!<`KP`3UC ``( `
M!@$`````@ `&`0````" ``8!`````( `!@$`````@ `&`0````" ``8!```4
M]@$``!4V`1K6$ ```/\```#_````_P```/\;UA ```#_````_P```/\```#_
M'-80````_P```/\```#_````_QW6$ ```/\```#_````_P```/\TU@8``0H#
M; !A]@-L``8``!8D`4EF`0`````+.AP``#P<``!E' ``9AP``&@<``!J' ``
M;!P``)8<``"7' ``FAP``)T<``"?' ``^0```````````````/D`````````
M``````!EQ ``````````````^0```````````````/D```````````````#Y
M````````````````^0```````````````&4$`0````````````#Y````````
M````````^0```````````````/D``````````````````````````````)0`
M`!8D`1<D`4EF`0````*6; `%UA@&`0D`!@$)``8!"0`&`0D`!@$)``8!"0`(
MUEP`! ``V@2\!XP*P"$`!MH$```````````````````````&X@(`````````
M``````````````;0`@``````````````````````!C07````````````````
M``````IT%P"O`!/6, ``@ `&`0````" ``8!`````( `!@$`````@ `&`0``
M``" ``8!`````( `!@$``!3V`0``%38!&M80````_P```/\```#_````_QO6
M$ ```/\```#_````_P```/\<UA ```#_````_P```/\```#_'=80````_P``
M`/\```#_````_S36!@`!"@-L`&'V`VP`!@``%B0!268!``````N?' ``UQP`
M`-@<``#?' ``X1P``.,<``#D' ``^0```````````````&4T````````````
M``#Y````````````````^0```````````````/D```````````````#Y````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````E ``%B0!%R0!268!`````I9L``76& 8!"0`&`0D`
M!@$)``8!"0`&`0D`!@$)``C67 `$``#:!+P'C K (0`&V@0```````````8!
M"0````````;B`@``````````!@$)````````!M "```````````&`0D`````
M```&-!<```````````8!"0``````"G07`*\`$]8P``" ``8!`````( `!@$`
M````@ `&`0````" ``8!`````( `!@$`````@ `&`0``%/8!```5-@$:UA `
M``#_````_P```/\```#_&]80````_P```/\```#_````_QS6$ ``@ ```( `
M``" ````@ `=UA ```#_````_P```/\```#_--8&``$*`VP`8?8#; `&```6
M) %)9@$`````!N0<``#E' ``YAP``!P=```='0``]QT``/@=```S'P``-!\`
M`-H?``#;'P``7"$``&L```````````````!I````````````````:0``````
M`````````&D```````````````!I````````````````:0``````````````
M`&D```````````````!I````````````````:0```````````````&D`````
M``````````!I```````````````````````````````````````````!``"4
M```6) $7) %)9@$````"EFP`!=88!@$)``8!"0`&`0D`!@$)``8!"0`&`0D`
M"-9<``0``-H$O >,"L A``;:! ````#_______________\`!N("`````/__
M_____________P`&T (`````________________``8T%P````#_________
M______\*=!<`KP`3UC ``( `!@$`````@ `&`0````" ``8!`````( `!@$`
M````@ `&`0````" ``8!```4]@$``!4V`1K6$ ```/\```#_````_P```/\;
MUA#_____________________'-80_____________________QW6$/______
M______________\TU@8``0H#; !A]@-L```+( `QD&@!'[#0+R"PX#TAL @'
M(K (!R.0H 4DD* %); `````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````````````````````````````````````````````4
M``\`"@`!`&D`#P`#````````````. ``0/'_`@`X``P`!@!.`&\`<@!M`&$`
M; ````(````8`$-*& !?2 $$84H8`&U("01S2 D$=$@)!%(``4 !``(`4@`,
M``D`2 !E`&$`9 !I`&X`9P`@`#$````0``$`!B0!$Z3P`!2D/ ! )@`>`#4(
M@4-*( !+2" `3TH"`%%*`@!<"(%>2@(`84H@```````````````````````\
M`$% \O^A`#P`# `6`$0`90!F`&$`=0!L`'0`( !0`&$`<@!A`&<`<@!A`' `
M: `@`$8`;P!N`'0``````````````````````%P=```$``!&`````/____\`
M````& ```!D```!S`0``= $``'4!``"D`0``I0$``!(#```V!@``T@<``#0)
M``!]"@``?@H``'\*``"_"@``P H``),,```G#@``,0\``#(/```L$ ``+1 `
M`*(0``#F$ ``6Q$``. 1``!C$@``WQ(``#43```Z% ``@!0``,X4``#/% ``
M)A4``#\5``!5%0``)Q<``"@7```N%P``,!<``#47```^%P``/Q<``$$7``!%
M%P``4!<``%$7``!3%P``5Q<``&(7``!C%P``91<``&D7``""%P``@Q<``(47
M``"*%P``P!<``,$7``##%P``QQ<``-(7``#3%P``U1<``-@7``#:%P```Q@`
M``08```&& ``"1@```L8```T& ``-1@``#<8```Z& ``/!@``&48``!F& ``
M:!@``&P8``"6& ``EQ@``)H8``"=& ``GQ@``-<8``#8& ``WQ@``.$8``#C
M& ``Y!@``.48``#F& ``'!D``!T9``#W&0``^!D``#,;```T&P``VAL``-L;
M``!>'0``" ````$P`````````( ```" F `````P`````````( `````F ``
M```P`````````( `````F `````P`````````( `````F `````P````````
M`( `````F `````P`````````( `````F `````P`````````( `````F `!
M( `P`````````( `````F `!( `P`0```````( `````F `!( `P`@``````
M`( `````F `!( `P`P```````( `````F `!( `P! ```````( `````F ``
M```P`````````( `````F `````P`````````( `````F `````P````````
M`( `````F `````P`````````( `````F `$( `P`````````( `````F `$
M( `P`0```````( `````F `$( `P`@```````( `````F `````P````````
M`( `````F `````P`````````( `````F `````P`````````( `````F `#
M( `P`````````( `````F `#( `P`0```````( `````F `#( `P`@``````
M`( `````F `#( `P`P```````( `````F `#( `P! ```````( `````F `#
M( `P!0```````( `````F `#( `P!@```````( `````F `#( `P!P``````
M`( `````F `#( `P" ```````( `````F `#( `P"0```````( `````F ``
M```P`````````( `````F `````P`````````( ```" F `%( `P````````
M`( ```" F `%( `P`````````( ```" F `````P`````````( ```" F ``
M```P`````````( ```" J0`````P`````````( ```" J0`````P````````
M`( ```" J0`````P`````````( ```" J0`````P`````````( ```" F0``
M```P`````````( ```" J4 ````P`````````( ```" JT ````P````````
M`( ```" JT ````P`````````( ```" F4 ````P`````````( ```" J4 `
M```P`````````( ```" JT ````P`````````( ```" JT ````P````````
M`( ```" F4 ````P`````````( ```" J4 ````P`````````( ```" JT `
M```P`````````( ```" JT ````P`````````( ```" F4 ````P````````
M`( ```" J4 ````P`````````( ```" JT ````P`````````( ```" JT `
M```P`````````( ```" F4 ````P`````````( ```" J4 ````P````````
M`( ```" JT ````P`````````( ```" JT ````P`````````( ```" F4 `
M```P`````````( ```" J4 ````P`````````( ```" J0`````P````````
M`( ```" JT ````P`````````( ```" JT ````P`````````( ```" F4 `
M```P`````````( ```" J4 ````P`````````( ```" J0`````P````````
M`( ```" JT ````P`````````( ```" JT ````P`````````( ```" F4 `
M```P`````````( ```" J4 ````P`````````( ```" J0`````P````````
M`( ```" JT ````P`````````( ```" JT ````P`````````( ```" F4 `
M```P`````````( ```" J4 ````P`````````( ```" JT ````P````````
M`( ```" JT ````P`````````( ```" F4 ````P`````````( ```" J0``
M```P`````````( ```" J0`````P`````````( ```" J0`````P````````
M`( ```" JP`````P`````````( ```" JP`````P`````````( ```" J0``
M```P`````````( ```" J0`````P`````````( ```" J0`````P````````
M`( ```" J0`````P`````````( ```" F0`````P`````````( ```" F ``
M```P`````````( ```" F `````P`````````( ```" F `````P````````
M`( ```" F `````P`````````( ```" F `````P`````````( ```" F ``
M```P`````````( ```" F `````P`````````( ```" F `````P````````
M`( ```" F `````P`````````( ```" F `````P`````````( ```" ``0`
M`%PA```8``````0``. 5```^&P``4!L``(,;``#5&P``.AP``)\<``#D' ``
M7"$``!D````;````' ```!T````>````'P```" ````A````(@`````$``!<
M(0``&@````\``/ X```````&\!@````"" ```@````$````!`````0````(`
M``! `![Q$ ```/__`````/\`@(" `/<``! `#P`"\)(````0``CP" ````$`
M```!! ``#P`#\# ````/``3P* ````$`"? 0````````````````````````
M``(`"O (``````0```4````/``3P0@```!(`"O (`````00````.``!3``OP
M'@```+\!```0`,L!`````/\!```(``0#"0```#\#`0`!````$? $`````0``
M``````"J`@``M0(``!84```<% ``IA<``+ 7``#\&@``_AH``%X=```'`!P`
M!P`<``<`' `'``0`!P``````7AT```<`__\0````! !+`'(`:0!S`&$`0P`Z
M`%P`1 !O`&,`=0!M`&4`;@!T`',`( !A`&X`9 `@`%,`90!T`'0`:0!N`&<`
M<P!<`$L`<@!I`',`7 !!`' `< !L`&D`8P!A`'0`:0!O`&X`( !$`&$`= !A
M`%P`30!I`&,`<@!O`',`;P!F`'0`7 !7`&\`<@!D`%P`00!U`'0`;P!2`&4`
M8P!O`'8`90!R`'D`( !S`&$`=@!E`" `;P!F`" `1 !O`&,`=0!M`&4`;@!T
M`#$`+@!A`',`9 `$`$L`<@!I`',`+@!%`#H`7 !-`&D`8P!R`&\`<P!O`&8`
M= `@`&4`= !C`%P`;0!Y`" `9 !O`&,`=0!M`&4`;@!T`',`7 !$`" `20!N
M`'0`90!R`&8`80!C`&4`<P`N`&0`;P!C``0`2P!R`&D`<P!D`$,`.@!<`$0`
M;P!C`'4`;0!E`&X`= !S`" `80!N`&0`( !3`&4`= !T`&D`;@!G`',`7 !+
M`'(`:0!S`%P`00!P`' `; !I`&,`80!T`&D`;P!N`" `1 !A`'0`80!<`$T`
M:0!C`'(`;P!S`&\`9@!T`%P`5P!O`'(`9 !<`$$`=0!T`&\`4@!E`&,`;P!V
M`&4`<@!Y`" `<P!A`'8`90`@`&\`9@`@`$0`( !)`&X`= !E`'(`9@!A`&,`
M90!S`"X`80!S`&0`! !+`'(`:0!S`&0`0P`Z`%P`1 !O`&,`=0!M`&4`;@!T
M`',`( !A`&X`9 `@`%,`90!T`'0`:0!N`&<`<P!<`$L`<@!I`',`7 !!`' `
M< !L`&D`8P!A`'0`:0!O`&X`( !$`&$`= !A`%P`30!I`&,`<@!O`',`;P!F
M`'0`7 !7`&\`<@!D`%P`00!U`'0`;P!2`&4`8P!O`'8`90!R`'D`( !S`&$`
M=@!E`" `;P!F`" `1 `@`$D`;@!T`&4`<@!F`&$`8P!E`',`+@!A`',`9 `$
M`$L`<@!I`',`9 !#`#H`7 !$`&\`8P!U`&T`90!N`'0`<P`@`&$`;@!D`" `
M4P!E`'0`= !I`&X`9P!S`%P`2P!R`&D`<P!<`$$`< !P`&P`:0!C`&$`= !I
M`&\`;@`@`$0`80!T`&$`7 !-`&D`8P!R`&\`<P!O`&8`= !<`%<`;P!R`&0`
M7 !!`'4`= !O`%(`90!C`&\`=@!E`'(`>0`@`',`80!V`&4`( !O`&8`( !$
M`" `20!N`'0`90!R`&8`80!C`&4`<P`N`&$`<P!D``0`2P!R`&D`<P`N`$4`
M.@!<`$T`:0!C`'(`;P!S`&\`9@!T`" `90!T`&,`7 !M`'D`( !D`&\`8P!U
M`&T`90!N`'0`<P!<`$0`( !)`&X`= !E`'(`9@!A`&,`90!S`"X`9 !O`&,`
M! !+`'(`:0!S`"X`10`Z`%P`30!I`&,`<@!O`',`;P!F`'0`( !E`'0`8P!<
M`&T`>0`@`&0`;P!C`'4`;0!E`&X`= !S`%P`1 `@`$D`;@!T`&4`<@!F`&$`
M8P!E`',`+@!D`&\`8P`$`$L`<@!I`',`+@!%`#H`7 !-`&D`8P!R`&\`<P!O
M`&8`= `@`&4`= !C`%P`;0!Y`" `9 !O`&,`=0!M`&4`;@!T`',`7 !$`" `
M20!N`'0`90!R`&8`80!C`&4`<P`N`&0`;P!C``4`I! +"6*EA'7_#_\/_P__
M#_\/_P__#_\/_P\0`#Q4^ ^(\O"%_P__#_\/_P__#_\/_P__#_\/$ `3>\LI
M>H,\K?\/_P__#_\/_P__#_\/_P__#Q `YFHS36*EA'7_#_\/_P__#_\/_P__
M#_\/_P\0`"ADIU_ZKOPE_P__#_\/_P__#_\/_P__#_\/$ `!````%Q `````
M````````: $````````+& ``#X30`A&$F/X5Q@4``= "!EZ$T )@A)C^3TH!
M`%%*`0!O* `!`+?P`0```!<0`````````````&@!````````"Q@```^$H 41
MA)C^%<8%``&@!09>A* %8(28_D]*`0!12@$`;R@``0"W\ $````"D@$`````
M``````!H`0`````````8```/A' ($81,_Q7&!0`!< @&7H1P"&"$3/\"``(`
M+@`!`````) !````````````: $`````````& ``#X1 "Q&$F/X5Q@4``4 +
M!EZ$0 M@A)C^`@`#`"X``0````20`0```````````&@!`````````!@```^$
M$ X1A)C^%<8%``$0#@9>A! .8(28_@(`! `N``$````"D@$```````````!H
M`0`````````8```/A. 0$81,_Q7&!0`!X! &7H3@$&"$3/\"``4`+@`!````
M`) !````````````: $`````````& ``#X2P$Q&$F/X5Q@4``; 3!EZ$L!-@
MA)C^`@`&`"X``0````20`0```````````&@!`````````!@```^$@!81A)C^
M%<8%``& %@9>A( 68(28_@(`!P`N``$````"D@$```````````!H`0``````
M```8```/A% 9$81,_Q7&!0`!4!D&7H10&6"$3/\"``@`+@`!````!! !````
M````````: $`````````& ``#X30`A&$F/X5Q@4``= "!EZ$T )@A)C^`@``
M`"X``0````20`0```````````&@!`````````!@```^$H 41A)C^%<8%``&@
M!09>A* %8(28_@(``0`N``$````"D@$```````````!H`0`````````8```/
MA' ($81,_Q7&!0`!< @&7H1P"&"$3/\"``(`+@`!`````) !````````````
M: $`````````& ``#X1 "Q&$F/X5Q@4``4 +!EZ$0 M@A)C^`@`#`"X``0``
M``20`0```````````&@!`````````!@```^$$ X1A)C^%<8%``$0#@9>A! .
M8(28_@(`! `N``$````"D@$```````````!H`0`````````8```/A. 0$81,
M_Q7&!0`!X! &7H3@$&"$3/\"``4`+@`!`````) !````````````: $`````
M````& ``#X2P$Q&$F/X5Q@4``; 3!EZ$L!-@A)C^`@`&`"X``0````20`0``
M`````````&@!`````````!@```^$@!81A)C^%<8%``& %@9>A( 68(28_@(`
M!P`N``$````"D@$```````````!H`0`````````8```/A% 9$81,_Q7&!0`!
M4!D&7H10&6"$3/\"``@`+@`!````!! !````````````: $`````````& ``
M#X30`A&$F/X5Q@4``= "!EZ$T )@A)C^`@```"D``0````20`0``````````
M`&@!`````````!@```^$H 41A)C^%<8%``&@!09>A* %8(28_@(``0`N``$`
M```"D@$```````````!H`0`````````8```/A' ($81,_Q7&!0`!< @&7H1P
M"&"$3/\"``(`+@`!`````) !````````````: $`````````& ``#X1 "Q&$
MF/X5Q@4``4 +!EZ$0 M@A)C^`@`#`"X``0````20`0```````````&@!````
M`````!@```^$$ X1A)C^%<8%``$0#@9>A! .8(28_@(`! `N``$````"D@$`
M``````````!H`0`````````8```/A. 0$81,_Q7&!0`!X! &7H3@$&"$3/\"
M``4`+@`!`````) !````````````: $`````````& ``#X2P$Q&$F/X5Q@4`
M`; 3!EZ$L!-@A)C^`@`&`"X``0````20`0```````````&@!`````````!@`
M``^$@!81A)C^%<8%``& %@9>A( 68(28_@(`!P`N``$````"D@$`````````
M``!H`0`````````8```/A% 9$81,_Q7&!0`!4!D&7H10&6"$3/\"``@`+@`!
M`````! !````````````: $`````````& ``#X30`A&$F/X5Q@4``= "!EZ$
MT )@A)C^`@```"X``0```!<0`````````````&@!````````"Q@```^$H 41
MA)C^%<8%``&@!09>A* %8(28_D]*`0!12@$`;R@``0"W\ $````"D@$`````
M``````!H`0`````````8```/A' ($81,_Q7&!0`!< @&7H1P"&"$3/\"``(`
M+@`!`````) !````````````: $`````````& ``#X1 "Q&$F/X5Q@4``4 +
M!EZ$0 M@A)C^`@`#`"X``0````20`0```````````&@!`````````!@```^$
M$ X1A)C^%<8%``$0#@9>A! .8(28_@(`! `N``$````"D@$```````````!H
M`0`````````8```/A. 0$81,_Q7&!0`!X! &7H3@$&"$3/\"``4`+@`!````
M`) !````````````: $`````````& ``#X2P$Q&$F/X5Q@4``; 3!EZ$L!-@
MA)C^`@`&`"X``0````20`0```````````&@!`````````!@```^$@!81A)C^
M%<8%``& %@9>A( 68(28_@(`!P`N``$````"D@$```````````!H`0``````
M```8```/A% 9$81,_Q7&!0`!4!D&7H10&6"$3/\"``@`+@`!`````! !````
M````````: $`````````& ``#X30`A&$F/X5Q@4``= "!EZ$T )@A)C^`@``
M`"X``0````20`0```````````&@!`````````!@```^$H 41A)C^%<8%``&@
M!09>A* %8(28_@(``0`N``$````"D@$```````````!H`0`````````8```/
MA' ($81,_Q7&!0`!< @&7H1P"&"$3/\"``(`+@`!`````) !````````````
M: $`````````& ``#X1 "Q&$F/X5Q@4``4 +!EZ$0 M@A)C^`@`#`"X``0``
M``20`0```````````&@!`````````!@```^$$ X1A)C^%<8%``$0#@9>A! .
M8(28_@(`! `N``$````"D@$```````````!H`0`````````8```/A. 0$81,
M_Q7&!0`!X! &7H3@$&"$3/\"``4`+@`!`````) !````````````: $`````
M````& ``#X2P$Q&$F/X5Q@4``; 3!EZ$L!-@A)C^`@`&`"X``0````20`0``
M`````````&@!`````````!@```^$@!81A)C^%<8%``& %@9>A( 68(28_@(`
M!P`N``$````"D@$```````````!H`0`````````8```/A% 9$81,_Q7&!0`!
M4!D&7H10&6"$3/\"``@`+@`%````*&2G7P```````````````!-[RRD`````
M``````````#F:C--````````````````/%3X#P```````````````*00"PD`
M``````````````#_____________________________!0``````````````
M``#__P4````2``$`"00!``D$&P`)! \`"009``D$&P`)! \`"009``D$&P`)
M!!(`&0`)!!D`"00;``D$#P`)!!D`"00;``D$#P`)!!D`"00;``D$$@`7``D$
M&0`)!!L`"00/``D$&0`)!!L`"00/``D$&0`)!!L`"002``\`"00!``D$&P`)
M! \`"009``D$&P`)! \`"009``D$&P`)!!(`#P`)!!D`"00;``D$#P`)!!D`
M"00;``D$#P`)!!D`"00;``D$`````"@7```N%P``,!<``#47```^%P``/Q<`
M`$$7``!#%P``11<``% 7``!1%P``4Q<``%47``!7%P``8A<``&,7``!E%P``
M9Q<``&D7``""%P``@Q<``(47``"(%P``BA<``, 7``#!%P``PQ<``,47``#'
M%P``TA<``-,7``#5%P``V!<``-H7```#& ``!!@```88```)& ``"Q@``#08
M```U& ``-Q@``#H8```\& ``91@``&88``!H& ``:A@``&P8``"6& ``EQ@`
M`)H8``"=& ``GQ@``-<8``#8& ``WQ@``.$8``#C& ``Y!@``.48``!>'0``
M``````@````"`0```@$```(!```"`0``G@$```(!```"`0```@$```(!``">
M`0```@$```(!```"`0```@$``)X!```"`0```@$```(!```"`0``G@$```(!
M```"`0```@$```(!``">`0```@$```(!```"`0```@$``)X!```"`0```@$`
M``(!```"`0``G@$```(!```"`0```@$```(!``">`0```@$```(!```"`0``
M`@$``)X!```"`0```@$```(!```"`0``G@$```(!```"`0```@$```(!``">
M`0```@$```(!```"`0```@$``)8!``#_0 & `0#^&@``_AH``$B== `!``$`
M_AH```````#V&@````````(0`````````%P=``! ```(`$ ``/__`0````<`
M50!N`&L`;@!O`'<`;@#__P$`" ``````````````__\!``````#__P```@#_
M_P````#__P```@#__P`````#````1Q:0`0```@(&`P4$!0(#!(=Z`" ```"
M" ````````#_`0```````%0`:0!M`&4`<P`@`$X`90!W`" `4@!O`&T`80!N
M````-1:0`0(`!04!`@$'!@(%!P`````````0``````````````" `````%,`
M>0!M`&(`;P!L````,R:0`0```@L&! ("`@("!(=Z`" ```" " ````````#_
M`0```````$$`<@!I`&$`; ```"(`! !Q"(@8`/#0`@``: $`````;S*$1@TS
MA$8`````! "&````/P0``#48```!``P````$``,0,P```````````````0`!
M`````0````````#A$@#P$ ``````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M```````````````````(!Z %M "T`(&!<C ``! `&0!D````&0```+H=````
M``````````````````````````````````````````````````````#.% ``
M`````````````````````````@````````````0R@U$`\! `" ``````````
M``````````````````````````````#__Q(``````$X`0P`Z`%P`1 !O`&,`
M=0!M`&4`;@!T`',`( !A`&X`9 `@`%,`90!T`'0`:0!N`&<`<P!<`$L`<@!I
M`',`7 !!`' `< !L`&D`8P!A`'0`:0!O`&X`( !$`&$`= !A`%P`30!I`&,`
M<@!O`',`;P!F`'0`7 !4`&4`;0!P`&P`80!T`&4`<P!<`$X`;P!R`&T`80!L
M`"X`9 !O`'0`%P!$`" `20!N`'0`90!R`&8`80!C`&4`<P`Z`" `80!N`" `
M10!X`' `;P!S`.D`````````! !+`'(`:0!S``0`2P!R`&D`<P``````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````````#^_P``!0`"````
M```````````````````!````X(6?\OE/:!"KD0@`*R>SV3 ```!\`0``$0``
M``$```"0`````@```)@````#````N ````0```#$````!0```-0````&````
MX ````<```#L````" `````!```)````$ $``!(````<`0``"@```#@!```,
M````1 $```T```!0`0``#@```%P!```/````9 $``! ```!L`0``$P```'0!
M```"````Y 0``!X````8````1"!);G1E<F9A8V5S.B!A;B!%>'!O<^D`'@``
M``$`````($EN'@````4```!+<FES`&5R9AX````!`````')I<QX````!````
M`')I<QX````+````3F]R;6%L+F1O= !S'@````4```!+<FES`&PN9!X````"
M````- !I<QX````3````36EC<F]S;V9T(%=O<F0@.2XP`'! `````*0VN!(`
M``! `````,)^*?\;Q % `````*[<CA,<Q $#`````0````,````_! ```P``
M`#48```#````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````_O\```4``@``
M`````````````````````0````+5S=6<+AL0DY<(`"LL^:XP``````$```P`
M```!````: ````\```!P````!0```'P````&````A ```!$```",````%P``
M`)0````+````G ```! ```"D````$P```*P````6````M ````T```"\````
M# ```. ````"````Y 0``!X````!``````!E``,````S`````P````P````#
M````NAT```,```#M#@D`"P`````````+``````````L`````````"P``````
M```>$ ```0```!@```!$($EN=&5R9F%C97,Z(&%N($5X<&]SZ0`,$ ```@``
M`!X````&````5&ET;&4``P````$`````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````````````````$````"````
M`P````0````%````!@````<````(````"0````H````+````# ````T````.
M````#P```! ````1````$@```!,````4````%0```!8````7````& ```!D`
M```:````&P```!P````=````'@```!\````@````(0```"(````C````_O__
M_R4````F````)P```"@````I````*@```"L````L````+0```"X````O````
M, ```#$````R````,P```#0````U````_O___S<````X````.0```#H````[
M````/ ```#T```#^____/P```$ ```!!````0@```$,```!$````10```/[_
M___]____2 ```/[____^_____O__________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________4@!O`&\`= `@`$4`;@!T`'(`>0``````````````````````
M`````````````````````````````````````!8`!0'__________P,````&
M"0(``````, ```````!&````````````````(+3/IQ,<Q %*````@ ``````
M```Q`%0`80!B`&P`90``````````````````````````````````````````
M````````````````````````````#@`"`/_______________P``````````
M`````````````````````````````````````"0```"O(@```````%<`;P!R
M`&0`1 !O`&,`=0!M`&4`;@!T````````````````````````````````````
M```````````````````:``(!!0```/__________````````````````````
M`````````````````````````````````")&````````!0!3`'4`;0!M`&$`
M<@!Y`$D`;@!F`&\`<@!M`&$`= !I`&\`;@``````````````````````````
M`````````"@``@$"````! ```/____\`````````````````````````````
M```````````````````V`````! ````````%`$0`;P!C`'4`;0!E`&X`= !3
M`'4`;0!M`&$`<@!Y`$D`;@!F`&\`<@!M`&$`= !I`&\`;@``````````````
M. `"`?_______________P``````````````````````````````````````
M`````````#X`````$ ````````$`0P!O`&T`< !/`&(`:@``````````````
M```````````````````````````````````````````````````2``(!`0``
M``8```#_____````````````````````````````````````````````````
M`````&H`````````3P!B`&H`90!C`'0`4 !O`&\`; ``````````````````
M`````````````````````````````````````````!8``0#_____________
M__\``````````````````````````""TSZ<3',0!(+3/IQ,<Q $`````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````````/_______________P``````
M``````````````````````````````````````````````````````````$`
M``#^________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________________________________________________
M____________________`0#^_P,*``#_____!@D"``````# ````````1A@`
M``!-:6-R;W-O9G0@5V]R9"!$;V-U;65N= `*````35-7;W)D1&]C`! ```!7
M;W)D+D1O8W5M96YT+C@`]#FR<0``````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
@````````````````````````````````````````````
`
end

April 06, 2004
Very good points, but fails to address how to handle COM capability, which I think is important to Walter, and many others.  I think commercial vendors will be as quick to dismiss D without COM ability as without adequate 'interface' support.  I like lary's idea of having the interfaces as they are now re-named for COM interfaces, and then implementing the interfaces as you envision them.
I don't see how we could unify them without losing something on either side .

Ideas ?

C


On Tue, 6 Apr 2004 12:14:40 -0800, Kris <someidiot@earthlink.dot.dot.dot.net> wrote:

> I believe it's time to do something positive about the state of Interfaces
> as implemented in D. To this end, I've written a small document detailing
> what I feel are the issues at hand. It's attached as an MS Word document,
> and I apologize to those who can't access it because of that.
>
> As noted in the document, it is absolutely not my intent to give Walter a
> hard time, or to discredit D as a viable and useful language. My goal is
> simple: resolve some of the real issues surrounding D Interfaces before it
> goes mainstream with v1.0, such that it will be seen as a serious contender
> by the commercial-development-sector and avoid being categorized as some
> pet-project.
>
> Some will say that I'm being unfair to Walter; that he's just one guy
> working on this thing. While that may be a reasonable argument, the solution
> would be to delay the v1.0 release.
>
> Take a read, and reach your own conclusions.
>
> With respect,
>
> - Kris
>
>
>



-- 
D Newsgroup.
April 06, 2004
>"C" <dont@respond.com> wrote in message news:opr5148ozvehmtou@localhost...
>Very good points, but fails to address how to handle COM capability, which
>I think is important to Walter, and many others.  I think commercial
>vendors will be as quick to dismiss D without COM ability as without
>adequate 'interface' support.  I like lary's idea of having the interfaces
>as they are now re-named for COM interfaces, and then implementing the
>interfaces as you envision them.
>I don't see how we could unify them without losing something on either
>side .
>
>Ideas ?

Even though I haven't really understood yet what is actually meant by the technical term 'interface', I can see that there is at least two flavours being discussed here. If both are important and useful, then a simple qualifying keyword should be all that's needed to let the D compiler know what the code author is referring to. Something like ...

   ms_com interface ABC{ . . . }

and

   native interface DEF{ . . . }


Slightly off-topic, how does Microsoft's .NET vision change the future usage of COM/ActiveX components and D? Does this also imply that D needs to support a .NET type of interface?

-- 
Derek


April 06, 2004
In article <c4v7k8$8p0$1@digitaldaemon.com>, Derek Parnell says...

>
>Even though I haven't really understood yet what is actually meant by the technical term 'interface', I can see that there is at least two flavours being discussed here. If both are important and useful, then a simple qualifying keyword should be all that's needed to let the D compiler know what the code author is referring to. Something like ...
>
>   ms_com interface ABC{ . . . }
>
>and
>
>   native interface DEF{ . . . }

I would suggest the existing pragma attribute would be good considering that COM interfaces are a OS dependant feature.

pragma(com_interface) interface ABC { }

http://www.digitalmars.com/d/pragma.html



April 06, 2004
In article <c4v2lm$1cg$1@digitaldaemon.com>, Kris says...
>
>I believe it's time to do something positive about the state of Interfaces as implemented in D. To this end, I've written a small document detailing what I feel are the issues at hand. It's attached as an MS Word document, and I apologize to those who can't access it because of that.
>
>As noted in the document, it is absolutely not my intent to give Walter a hard time, or to discredit D as a viable and useful language. My goal is simple: resolve some of the real issues surrounding D Interfaces before it goes mainstream with v1.0, such that it will be seen as a serious contender by the commercial-development-sector and avoid being categorized as some pet-project.
>
>Some will say that I'm being unfair to Walter; that he's just one guy working on this thing. While that may be a reasonable argument, the solution would be to delay the v1.0 release.
>
>Take a read, and reach your own conclusions.

I don't even understand the point of interfaces: it seems to me that all they do is require a class implement something, which seems pointless.


April 06, 2004
Patrick Down schrieb:

> I would suggest the existing pragma attribute would be good considering that COM interfaces are a OS dependant feature.
> 
> pragma(com_interface) interface ABC { }
> 
> http://www.digitalmars.com/d/pragma.html

Another idea which does not requiere to change syntax: COM interface is built upon a "pure interface" by library means, just as XPCOM interface, and other interfaces which conflict with "D object interface". "D object interface", ie an interface supporting backcasting to D object, can be built from a pure interface by compiler means. I propose that whenever an interface ihnerits from "ObjectInterface", which may be a half-bogus interface reserving VTable space for requiered methods, these methods would be implemented for each class descendant of it automatically.

A syntax may always be bound for all interfaces to ObjectInterface method calls (ie assume they are there), which would allow to implement similar behaviours in library, and would correctly give errors when you try such a syntax (ie backcasting) on an interface which does not support it.

-eye
April 06, 2004
kinghajj wrote:
> In article <c4v2lm$1cg$1@digitaldaemon.com>, Kris says...
> 
>>I believe it's time to do something positive about the state of Interfaces
>>as implemented in D. To this end, I've written a small document detailing
>>what I feel are the issues at hand. It's attached as an MS Word document,
>>and I apologize to those who can't access it because of that.
>>
>>As noted in the document, it is absolutely not my intent to give Walter a
>>hard time, or to discredit D as a viable and useful language. My goal is
>>simple: resolve some of the real issues surrounding D Interfaces before it
>>goes mainstream with v1.0, such that it will be seen as a serious contender
>>by the commercial-development-sector and avoid being categorized as some
>>pet-project.
>>
>>Some will say that I'm being unfair to Walter; that he's just one guy
>>working on this thing. While that may be a reasonable argument, the solution
>>would be to delay the v1.0 release.
>>
>>Take a read, and reach your own conclusions.
> 
> 
> I don't even understand the point of interfaces: it seems to me that all they do
> is require a class implement something, which seems pointless.

I don't really understand the concept of interfaces either. I think right now interfaces are intended to carry two different roles (maybe that's why this controversy has erupted).

1) Capability to features built-in to Windows
   Example: IShellLink (creating Windows shortcuts)
   http://www.dsource.org/tutorials/index.php?show_example=31

2) Facilitates advanced object-oriented techniques
   Exampe: Multiple Inheritance with template 'bolt-ins'
   http://www.dsource.org/tutorials/index.php?show_example=55


Perhaps these two goals are incompatible. We could split these roles into separate abstractions: interface and cominterface. Or maybe all we need is a extern(cominterface) for COM interfaces (or an extern(D) for these fancy new D-style interfaces that Kris has in mind).

Perhaps D only needs to hide a pointer to InterfaceInfo after the "visible" vtbl entries. (It seems to me that it'd be possible for the compiler to secretly tack another pointer after the end of the structure. But I might be delusional.)

-- 
Justin
http://jcc_7.tripod.com/d/
April 06, 2004
In article <c4v2lm$1cg$1@digitaldaemon.com>, Kris says...
>
>I believe it's time to do something positive about the state of Interfaces as implemented in D. To this end, I've written a small document detailing what I feel are the issues at hand. It's attached as an MS Word document, and I apologize to those who can't access it because of that.

(just download open office if you can't - it's big though)

>
>As noted in the document, it is absolutely not my intent to give Walter a hard time, or to discredit D as a viable and useful language.

I can't see how anybody would think that.

I thought interfaces on D were just broken or incomplete, never occured to me that the limitations were by design.

I hope we all (I mean you) can move Walter on this issue.

(the one contributor that Walter listens to is a C++ man
I don't believe he can help us here.)

Ant


April 06, 2004
Kris wrote:
> I believe it's time to do something positive about the state of Interfaces
> as implemented in D. To this end, I've written a small document detailing
> what I feel are the issues at hand. It's attached as an MS Word document,
> and I apologize to those who can't access it because of that.

"In short, D interfaces are nothing but a shill for Microsoft’s COM, and a thinly veiled marketing tool for those who actually use Interfaces in real-world scenarios."

(Did anyone else perceive irony that this statement was in a Microsoft Word document? ;) )

I've posted a PDF version of this in the files/documentation section at http://groups.yahoo.com/group/d_lab/. OpenOffice (www.openoffice.org) can easily make PDF files - even from Word documents.

I haven't studied the document yet, but it looks like a very thorough statement of your perspective. I'm unclear whether you see any need to use existing Microsoft-style interfaces, but that ability is a MUST in my opinion. I'm much more interested in using IShellLink, IPicture, DAO, and ADO than in creating my interfaces.

> As noted in the document, it is absolutely not my intent to give Walter a
> hard time, or to discredit D as a viable and useful language. My goal is
> simple: resolve some of the real issues surrounding D Interfaces before it
> goes mainstream with v1.0, such that it will be seen as a serious contender
> by the commercial-development-sector and avoid being categorized as some
> pet-project.
> 
> Some will say that I'm being unfair to Walter; that he's just one guy
> working on this thing. While that may be a reasonable argument, the solution
> would be to delay the v1.0 release.
> 
> Take a read, and reach your own conclusions.
> 
> With respect,
> 
> - Kris

-- 
Justin
http://jcc_7.tripod.com/d/
April 07, 2004
Ant wrote:
> In article <c4v2lm$1cg$1@digitaldaemon.com>, Kris says...
> 
>>I believe it's time to do something positive about the state of Interfaces
>>as implemented in D. To this end, I've written a small document detailing
>>what I feel are the issues at hand. It's attached as an MS Word document,
>>and I apologize to those who can't access it because of that.
> 
> 
> (just download open office if you can't - it's big though)
> 
> 

Or Abiword which also is free but MUCH smaller (about 4.8 MB).

http://www.abisource.com/download/

« First   ‹ Prev
1 2 3