www.digitalmars.com         C & C++   DMDScript  

D - Language Design Progress

reply Benji Smith <Benji_member pathlink.com> writes:
This message is basically a request for Walter to make a "State of the Union
Address" regarding the current path of D development.

A recent post asked a question about the stability of the current D language
design. The last few releases of the compiler have consisted primarily of bug
fixes (and linux interoperability) but not new language features. Can we assume
that the language design, as presented in the online documentation, is
essentially complete?

If not what areas of the language don't feel quiiiiiite done yet? And what areas
of the language are definitely nailed down?

I also have a few corollary questions:

1) Separate and apart from language design, how well are you satisfied with the
current DMD implementation of the language? What's still missing from the
compiler? What are the biggest priorities?

2) What areas of the standard library are still in flux? What areas of the
standard library still have the most work to be done?

3) What types of libraries would you most like to see **us** working on (that
aren't destined to end up in the standard library)? Personally, I'm about 70%
finished with an XML parser that I plan to contribute back to the D community.
An XML parser seems like an important library, but I'm curious to know what
**you** would like to see being developed.

Thanks,

--Benji
Jun 10 2003
next sibling parent Benji smith <Benji_member pathlink.com> writes:
Walter,

I'm still curious about these language design/implementation questions...

--Benji


In article <bc4vn6$18s$1 digitaldaemon.com>, Benji Smith says...
This message is basically a request for Walter to make a "State of the Union
Address" regarding the current path of D development.

A recent post asked a question about the stability of the current D language
design. The last few releases of the compiler have consisted primarily of bug
fixes (and linux interoperability) but not new language features. Can we assume
that the language design, as presented in the online documentation, is
essentially complete?

If not what areas of the language don't feel quiiiiiite done yet? And what areas
of the language are definitely nailed down?

I also have a few corollary questions:

1) Separate and apart from language design, how well are you satisfied with the
current DMD implementation of the language? What's still missing from the
compiler? What are the biggest priorities?

2) What areas of the standard library are still in flux? What areas of the
standard library still have the most work to be done?

3) What types of libraries would you most like to see **us** working on (that
aren't destined to end up in the standard library)? Personally, I'm about 70%
finished with an XML parser that I plan to contribute back to the D community.
An XML parser seems like an important library, but I'm curious to know what
**you** would like to see being developed.

Thanks,

--Benji
Jun 13 2003
prev sibling next sibling parent reply "Walter" <walter digitalmars.com> writes:
I am working on an answer!
Jun 13 2003
parent BenjiSmith <BenjiSmith_member pathlink.com> writes:
Hello again. I'm just checking back again to see about the status of the
State-of-the-Union address from Walter.

It's been a few weeks, and I thought it might be good to be a little bit of a
pest. So, no pressure or anything...

--Benji Smith

In article <bcdi78$1q8n$1 digitaldaemon.com>, Walter says...
I am working on an answer!
In article <bcdg5u$1ofq$1 digitaldaemon.com>, Benji smith says...
Walter,

I'm still curious about these language design/implementation questions...

--Benji


In article <bc4vn6$18s$1 digitaldaemon.com>, Benji Smith says...
This message is basically a request for Walter to make a "State of the Union
Address" regarding the current path of D development.

A recent post asked a question about the stability of the current D language
design. The last few releases of the compiler have consisted primarily of bug
fixes (and linux interoperability) but not new language features. Can we assume
that the language design, as presented in the online documentation, is
essentially complete?

If not what areas of the language don't feel quiiiiiite done yet? And what areas
of the language are definitely nailed down?

I also have a few corollary questions:

1) Separate and apart from language design, how well are you satisfied with the
current DMD implementation of the language? What's still missing from the
compiler? What are the biggest priorities?

2) What areas of the standard library are still in flux? What areas of the
standard library still have the most work to be done?

3) What types of libraries would you most like to see **us** working on (that
aren't destined to end up in the standard library)? Personally, I'm about 70%
finished with an XML parser that I plan to contribute back to the D community.
An XML parser seems like an important library, but I'm curious to know what
**you** would like to see being developed.

Thanks,

--Benji
Jul 02 2003
prev sibling next sibling parent "Dario" <supdar yahoo.com> writes:
D's standard functions involving formatted input
and output are actually built upon the old C printf().
Even Pavel's streams rely on printf (but Pavel wrote
his own scanf to provide a better support of D's
strings).

I don't think that printf() should be D's standard
for formatted output printing. It isn't type safe
and, even if it is useful for debugging purposes,
it's quite a complex and slow function.

IMO, C++'s streams are the tools D needs instead.
Unfortunately Pavel's streams do not format any
output, so file.write(12) will write 12, not "12".

Since I had a lot of free time actually, I tried to
write my own stream classes. They support
(I hope) almost all of the functions of Pavel's
streams, and I provided them of a set of print()
and scan() functions which should deal with
formatted input and output.

Many of them are still incomplete or buggy.
Anyway I'm not an experienced programmer...
I'm a student and writing programs is only a
hobby for me. My streams aren't certainly
going to replace Pavel's ones, since they aren't
really much tested. I'm simply attaching them
to this post to let you read them, try them
and tell me your opinions.

(I also wrote a SocketStream... If I
remember correctly somebody was asking for
something like that. In Windows they seem to
work, but they won't in linux since I don't even
know the function prototypes...)




begin 666 streams.zip

ME55-C],P$#TGOV+$A:1=E0J)RX8%"5 )#G! D1!:5<A-IHVUJ5ULA[*+^M^9
M\3AMNL B+I$[?IYY\_&F&]OT'8(/#M7FZP8WUMU6N=YLK0O)6N5YW2GOX7V\

M$#T

M%=W4'2I7T$.*]>X*/KVESX?+RS>7;U[FV7Z(LKP->+T`50[!:N5#T8NY)/LH
M\ &;9]I(>"H*NE 0C'UF2]O<'GD1%<5,A-5 LQI%KUOER*/_2W0_BKX[8"5 
M-([PDS*>(VS"3Z_G,)N!'XHS 7 U\_H.%V4B0:7YW!*[E3;:M]A0P[19Q];*

M%/2Q/SK_;G4S0,6W9 M(8WL!X_QC.)AR+*[ZRKIT`YJ0?%G1Z3F_I,-T2OZR
M;,)W\Q_S^3UV#JFQWU'XH?&]2Y/,-'=.!ZI31-L5**AI"!0)1VU(3H%MD4O4
M +&!:)(2(ER=S/TAPR%<'&[Q,J3+%H??9( TY2?7G*)>%>GF!6<=$QK;1N(H
MX50I F$G&7:D4G%_L.X'8A[QIM QIY7'< 8?D8O3C300(W9P<<%WLR6NM2'A

MU0FJ[AUCI ^"B) XXG),?T?N)06=ZLVK1?/NXB:=\?:C3<G]7B+-V9Q=A];9
M'>VV'5Q1)2^=HZE\--[/Y["U]!H=V#YXW2
M<Y$ ?6=)O]+E>V(\-C;;.ANP#MB<C^0;!9++O$51G,F3PX2JYA7-[4W!/R>P
M[%=G,6\^R?"-%B+9AG[SR ID-*7'LGPDOW\LBV'=V7[=BI9(75(5+L> "VIJ


M`&B0SRZ5AG5*F0(```$(```.````<W1R96%M7W-L:6-E+F3%54UOVS ,/=N_




ME1D7T$Q>O&)1.Z-&"B1 \256#CW7R* 05'F'NF=Z?E"NB%HUM<,%3-H05R)8

M]EYS(K9PS5$U,O:DIP!5+TF7.^,4EUN4<!NY99F<.!*7B2S "^IE QLU! JG
MM3VDQ3T(/JXY\ZM+%7!BYOV_DD L$C#D.9?%V^GO5,F0=(4+[G<094C]V71!
MUB>C.A `31I=EI[&2V! 42=*4AHRP'J=A("H6_""NS6\+ZLS+(Y="? ">QNQ
M)\I*"_=T6T07MU>^'8I 0\ZSEE4_YE]E  V:P]M(OH*&9N2Q.L&WDYW1+^7Z
MK2>QGSV+M(,?1&5ZDT['Y5(X%II5"7%"=R$A'T5+HU]?1T!LYA%^&*:YLW)R

MSAJ/K<=N1;OD=:N.3"5;6$=Y&N4A"5D=F)!S]U&;]K' [1MZ;WMZ.WCT:445
ME,=I?]&,\Z$)#NEE\X.E01QQ3[VHNT_6&EM<)?_72M+SYV&>Z$M(?X:KDBD&
M86:.PBX22_7<6^7Q/Y;!^?]81D+RK([GGU!+`P04``(`" !CC\\N/>)6A%D&
M```?$P``#P
MO:;I*314H#L
M>+P0418S4%JR8'&I1'C%=*_)%ZF0VDE[S>8UDXJ+Q#OCR4\[/J227P>:-;\V

M\XHXG ?R?.>7-Q> ;H=,A9*GNOJIN_,K?1JME&:+D0YTIBK:^&%P,S)!W)>>
M1NEPEFO9A#C]PI)(R(-D*E!ZURS\YLEE$$72^<T3I,$(ZBABBJ27/+%(:TGA
MZFFPX/&J8IZ$Q">)G'8C<UH;DY5FYV\OC.R6R=P?=J.9-)Q'8JG\=R B;Y!7

M(MYL0599/D$/G\/$'/.5$ IJIH,P9.F3%C9+]UENP^3O80R2A==/`>Z*`HYY


MI &2,I;HMGDY'^\?C& T/MD;',+^8/1Y8PR#SW!T.CX^'</NZ:=/>R=6_^' 

MN#A
M4"-3.IB *W.+JWC2`H&JY9(K0^62QS$L`Z[S&&I Y\XN+C$.V:PH6&0*"VU.
M-!AQL+"QT=YM S<(=1;$\8H^JG(5P2<!>FBP(C%KQQ^/7Q\<8Z,46H0B=NX5
M[\I 0XQY OXNTI M,,.&A=4R6+5]1UB:D\%4CG9T3<CYP.I!-GDR0T^PS+!H
M:>.H-IS2'QO3Q,8QX;-MW$8<%7D)TTLAKX!Z#P 9,>D3+:[QAWJ5,MQ8&BO9
M,VT7NQ-N2=O/".)7^J-I:'WHF)9G%8::Z4)$&(YOVUW:S8WEG,?,V]KB\*(/

MA_]93,4P];B*^(QKH]LOM%KX9A^ZG<IRU&M<V(:-SD9-D9Y+L<3ML71[?4]*

M/!9>`2I5Y#H>K++[&!=5L=\,V"$H"5>:4K/=]2'B*C\$<O2UP !+Z\_Y66GJ



M 0WP06;,7(+Z_Z&TD+H'-MQ<8ZSL_)!:JX&>B'^GN=A5ZM95NO&[5Y2ZFYNJ


M/&AN&41X%6/2=8?<EV_WG*E<!A!E S(3P0PIP[-',7;EF3-(<6HV]&R/95)"





MWSW!6!XEK3SA[2W<):6FJM["GU15] =<R; MF/[C]+G ^S8 -]D6^:9[)_O?

M<:,FK H``"<K```(````<W1R96%M+F3-6FUOVS 2_BS_"NZ'NTA-XB:];_7V
M[IK4W0:7ER)VD2VZP8&6Z9BH+ FB%*TON/]^,T-2I&4YL=T]8 ML5B;GF3>2
M,\.1%MFT2 1392'X8M![_9JE6<GB+%\6\F%>BBD.U84L2Y&RR9)]X(7,V"B>
M2_Z8I2Q453[EQ3^7?)YE_3A;1#T$7+ RR[XSF:I<%KR40#DKL 7[S!]%PJYD
MRI?B\4 9L?TI"^,(<3R=LK*0`OYF)%4PSE)1-X1]I+I:LKR0"UXL00+H5;*:



M? +R>%RRQTQ.M:_.$F 1XN]71ZP"0Z(!J?)I.!JRT:>;+Y<?V-F0?;Z]&0_/
MQT/X\67<9 1BIAOX:/O^K4A/6+/SFZO/E^\OKD<]LN0+6 )N +^-U]TJ%KQF
M4UYR7+",R+E=4Q:.YV+)>"% <BZ0?(H[C2?)BEMA9P7.UE"F+)[S O$H>/+-

MAUVE;(-I V9)QG?5;9I5DV37Y8%=F.RJG-Q'.]FHMPMH'_7B?=2+]U$OWDL]

M08A9EB19K:-G0P#YIU0BF
M!N:\1\[^-"5,G/TRZ9HF,"A?",SNCQ#IRU8
MVN[O8%K_7[BN[9(_ FFU)]?G= \ND4O&6).UDO'7K&)0]T#V51D5)XBXP)I(
M;XUS<!\^BS+NVP7$\1"J*"]1NC*B,RXTB&IWB)?QMI:R!Z;)>%L+V1GATMW6

M!<3'M**OPSR3M1B&^%;$J662M/C6>S&FN 67O$45SW7LXJK%V(^6NRAL\BC<

MZ_?[49\Q] [3)05+^&?3<( ZZ0 ZL.,A) '(LU61XBALA<K FO1,L,KANF$Z


ML]&/%$\,UUMX#LV^39XS#MQOU"3WSQHUI=-SP[(9A0 W=7I*I^ &H%&4 (55
M5#I--R


MPZM7D!6VAF+"K:XTX.LZ\?PV\8*CT=7=71S?IR8!5-RPK3R^Q+;RV%:;UT/G
ML-3DFWHN(97-(:=-A$ )X+59.^\$D5NPH/OZ%C#V9

MV)=TUR :NJX6$U$HZDS&6?HH"MTW!D(X0[) 4Q'+!4_,S3 O0%Y:4K>[S]ZS
M7!0RFV)= =U>1AUJG>Y%S L\E[ "/"Z!3I4RUAWR!4]+J137*ER4U#T6L8"A
M8HD5 LI!ZFS)YEFMJR&0&TL%0G4/`,, +!3+,]S"J;&!C)^8_C9H4X-3C8 9
M2S/'!.5I$=B%S])DJ8TEVI;"0&KX&8=E%&QX:<.&L?V(^M]FPS6W1MUJ7VFO
MZB&ZTV+7F>ZS33';T%>= *I!K &\V]^6$KH1SXC0=[]>\-0+()6&G/W,3N!G
M\!1X]W1T0,0.C ^B`4P%&$^..3X"NZ!+3B]85VU-TKMW((JMBSG18LCKIR<0
MP_$7P24(5K9X/6:G. 'A"!(BUSJK;_(>:#QN(.<O[!3D'")CH_[K=S!$S_+X

MF_$-OO#Y>/'K\,/;- /_DK^9P^WP_>7E5_8+_'_,KK]<G0UO1^SNYOI W.;G
M+K*;N=';IXMK?/=T?G-[.SP?7W[]":O/18X'#H

M=>B-G9Z ?%CD7;><9']?F<II"^*FZMB%B[5=N.C:A>Y T1%8/QO]`V]BV[UJ

M!DS^;,7"\^%A1(;,0FT\ %)[MI&+#ATB
M]DJ]LXGUG]]&2.J''?_P!?+9Y?!JQ"XOKO]U<?T+54?]Z>:JBRK?CJ*+*AY;
M=-$K!%-GT27%*[6(>B)3K(%:E9;=;/2V?K4)C8D"AW6K9,!<IF^(JW5JTR(9
M=%![98&E-IV1+NJJ ]QV1 ;KY$W[V-)2%\06V2W6:\2Z^NVTT?6,+;%N>G0[
M9)W:-#O(Q"94Q^4R%T>T7 -]!0B<JX.F3O?ML!5^X'EYE=(:8;M/ >?AS3P=
MJ==OZN8*3T$#U_%[0WUT0O%8WW"_G= IT ?OA [>P>%!9&4<>D):5,>.ZMBG

MKD,3D EWB4ILJP=NE,!M,$^/-S_N8+,+7_*P)?L!%Q.+-1\WQAD16UCWXU[N
M4H6"X=VGK^S#S7 $A9BID Q$MQAU.HK8\->+T? ?:PA3VAB(:2^^ *%2RB"H

M\+X)TG=<4="K9-NF(8A>&QW+\ S;3/!78K[0.T )\3V$NNM6)/V)>) IC3:M
M_J(`1*O%D) 6A,,#RS8'VY,K"K=2:#O1D_&;3&A(G:*^K^PH?M3V'-IJV;SK
M]8CUG*,M"\C2'*,P4MM?7A.D_6T860$"R6JTMYEN/.U\W)JSB W:3)T6 QYX

MQWK&'\)2*?UQ0SDOLAI*.?Q* O8G<9MF0J4'D/LK6>IWY>F293!?. ::-SJL

MNUV%Z5[9'M)&L$]V%4;GHKVKMY2:0_B2,;(WQ8GY4G%!7U(.VL,S",IK _JK
MQO5A_/ 2-N;_`%!+`P04``(`" !UB\\NW1H?ZRXT````X ``" ```'-T<F5A

M8_PQ]IAQVT"6O1#Y=H4S1HJCB,N=B)1(7BG9BW3\$47DEMV F".)+G_D3I$V
M*"&;O>N/G!;=96]/&Z3CY'NONGNFYZ-K/)SNCY5VI.[IZ?K]7KWWJJJKN^:]
M_GX>(7]/2!ZAA'^NYI#L
M.LO;6M?>FE5SI+9NEK>VNK4Z"W>S:HX<;FG-\NYM:<F$C?SU7/(.2LW,HGC<
M\WTF(;-FZ\=X?LZ<Z''V7$K^)H-DD!MNLLQ;JROA;=&_+H9Z)+^WON/D"+F3

M(B&H7P?E"4%=.L E!/D`-.X <[W>KH T/.3W$>0L%G+\NF F! 5UT!(A:% '
MY0M!O3IHJ1!T00<M$X)".FBY$-2I ]P`6D&6VX"JC>Z\0HPR^O-*,<KHT*O$
M**-'%Q <R9N2HJI#H8[+QWND[ ;_P'FI.ZKFZK1(AM9KTB(91JQ-BV38Y$G>
M(+#S

MX#N
M/,(J`;:*K$ &.W9.QW4C[AE[7$MW,"0!; AQSP*N *Q,*F_(`$H(?"[YQ0Z!

M:V]L;7#X7


MK=UXXE,;1_-A=130ZXG'=EA%X7QT-0-\,]EHK[-UTC24;TD^T5J4CR5Q*UJ!
MM)44":V(I7%SC %M&]DB-B>6Q^UJ2WZE& SQL6M<SHX+0<;EK%T(,N;U$T*0
M,:^?%(*,>?V4$&3,ZZ>%(&->?UX(,N;U,T(0SNOCBTFVUWNLH?9 6Y7E",E>
M(=F8[\\*0<9\WY'\FFRJ8?CFG!#E-U"=0I3/0/F$*#YUCL\GN5YO[=Z&8PT-
MA_?I)OO%-&,R[0+4,I(?CSKOER(=]#Q =I*R.$A=*!0,>;V=$NQ1B9J2\L1R

MQRMU9V#YC5)2'%$9)A!?HL([XTM177A6G_ QJ+LLJ5(<5IZAUY^H&2^6L'A)

M^T= ]Y)8NR*JR8;B5JNBE3\Q7!)C5K0X/U,G6R5'2ULSN=4+R#QO![_FZPC4




M3NF])V94FCTLD)FDVT=*KV7J(R9F0)F%]WCOF%I/(A^:TS(V]1T>7:_U9(=S
MF\)3O73Z:/ZIC[((>6,VF<QB-!C+R$UD9( 9CK3KF)<V8W[:6BV8$:/0PG V
M62 .G9*%E':3,RN!LW"&'*MFBQ(UR^::9=O9DC<CAE4OUU/HM3AMO5 B(X<S
M''9Z+7D*O?+3UFOIC/2R,I:E7<?R1(:3,YQVMKN3V.[2;7=9;=] X:PP*>'<
M\-2TY''P+4&Q31;*RB %P6&HB]Z%NA)9UHI6S:PB*Z5 9I12"V5U' 5\7![.
ML[";+\6QJRSL-4G8)K,WHY?RLM%[SN9P'MIKRLK594T6,'HQ5IVU::MC97O2



MN9?A]ZG1>]E3G#X[ ?Z,/?T5&_I."_W96'K7Q\ W!;P&9[O"*20\)Y+P^DPD
M5,5*T 40TL1].'$3O9E"0K50PILV$FHL$O:./G(F$P'?#HNH2135RGL0BG/J
MXN8DB*N9F;BW!>*L]M4FL^_NBX:4=^'T R3V/6>14"=4Z+$IZA:<>IA$F=T6
M4?5QHK[: D=?73'NRJ8GWL.? 8B07%V(O-!%,\A;?\S,B,HB=Z=?Y%\OZC\?

M;5VU,S]PTT]P-2T7OHLR]'X0STMH?YMR.>Y\=-&-Q-2'"V1SX?NF49^5ETSV
MVS;UZ8M*T8]EH2RF/ERYPE' R-3KL_*2U9>?F;R^>W'GHXMKL?7A2 C:=\6H
M[UZ*^J[9U!<)8C+&Z=>(>R,[4RYG=$ ^RZ D7V)T2+[":$B^RFB?_)>,]LK7
M&.U1$:("9% %2+\*D("*$!4A*H>\C9#OL/01EGZ/I?^%I8^A5,N'4JT=2K73


MG IW!ATJ8?2L\H31,PH8\[P"9IU6P,!3"IAZ4 &C3R RHVW*MXP>4[YFM%4!
MQ5L4,*%9`6..*F!6DP(&'E'N,7I8N<MHHW*'T0;E-J.'E/<8/:C<8O2 \BZC
M^Q7PY#YEDM%ZY4U&ZY2;C-8JKS-:H[S&Z%[E%4:KE7%&JQ3PVG,*-,"S"C3%
M,PHT2J4"S5.A2(SN4089W:T$&"U7P,6[%'#V3 7<OD.!!BA3H"FV*ZV,EBI-

MT?4*/$JN4]R,>A1HW[6*B]$UBI/1U8J#T0(%_+=*`?^M5,!_*V3PGUL&_RV7


M5,;FE MQA\TM8W/+V-RQ4_L^X=1^>P93^_Z93>UW9C"U'T UM=\53.U3^RR2
M#EHD/9CE,.3I1P].>QRPF3+O&3;"YC#D. VY2]!G\Q*$'QI]%%FC>CC+:0C7
MCQZ>]C ?1H5_8E -FQ.$YZ<6WF 1;O&!Z8E%%F]\9G #MD7)A.MNL=ZM-]K?
MK7\^ [OUPZ)[[2_L[K7W6R0<&7T463Z&AS/)DV\LXH!-8\ = [O19B[NR]A[

M$SSB"V2OEE%"3DU9' 2MM%9;6KF(=LR65BFBM=G2JN)IUC75XR9MP:]J(^/ 
MAPS[=?[V".?]**=;S#D1X7PHK
MPY,Z9__DCY=S>[=PMQPM^.&;-K[$^"J*.!.1,9?+>-\BX_3H(U<+"BDX'GX,


MN?V.2?\5GH;BZPWNQ9O_,[SD:/CCMNGF /<,]%T7MP"N4 NQ[^YC]/SD3V%'
MIIHLMCQO.G+T"DPA+ZZZ, <.LLD0B[H%+N&P98_"-^%+*N8Z[*N#W-<QRQU?
M662?&7WD; E_>:SM.#C
M!R=R6SW%TK'1_W&!PSZ(. Q*04IQVR^XWSX]SL^^]*_<=U/%WI)/SV QPJZ=


M;RH]#V
M!(D=3R'1D2"QV"+Q7*S9V0_='F-YS#D]<2VQNUC7_#NCZX-3,,TZ33J070:Y
MW?P'2%\J/$FC;-_HHZH6O:L5<"'=&54$PS[(F[W8[<Z:AK;C9FLLT/.AH[A_
M$_#D?_-OWWP*QT4/? MG"^%.(Q]ZE1MDZ;,'[[309<NQ2Y7<Q>X%XQQ/\MZ[
M^;2GM>+AQ4[LWS!P\9)0H/?ESY^N+Y=;^S*<Q IW!SRND7=0?' 77' D3Q'?
M;F!;A9>$/^[=.MU<<+V1<K4J_A$Z^J\C'?T;.'^]M6CWYM^'5S7C=:/%Z.M5
MO)$WDDD']O75C Y/_AWT]9\588?_#CO\/T"'G^QGU"OOY%U Q-*,_I:VL?NZ

MK8EZV5$19N'[1\&6&EYV&RYPO",MUF]\) M1M<.PD[=SA2Y9%.I*4* U0:%_
M-ZOJ&JWTHD8%%HT&?^<V8/\1 84=7D,ECZ[2^TE5.H(JE7&5ABTJG==O/-N.

M!QM=E$\!^5.6*6RC18%NJ-U<LS:&G/$5N69 XU^8S$M ]J1F( GIG;',WJ=F
M]J7%7&UA!IJ:IG<\RB1D>L=WF4;;M>OW[ L8[99S\-X]"]OG9>NJQ]4%9)X1

M4PG!\!V1&$SSJB5[4XNI*VL,^OQB89 .UD .I1+66E)VL6? %[PXY-U??;BV
MH4XL%?/'/&2-O52?[JY('IDU1C >'!ST#T03`A;$!?W:H0WC(_EE(G4Z`\$A
MOZD.YIEM)!MLP4-^?Q_\KMO>[+<DG6T ZVP9 \&A'AZ?903*YZ4P.&"&`_>;
MB6 BZ5)H>*"S0XKHOS %OC,X>!D=9#J4I<#W!T?\5OR2N"#M

M61SF$\2LB T^BX-D\2O41"^A65MBU1R2?#T


M2-B);4,6>/?YI1;)M[]CP!?P5Y4)0I*%(<W",&DR+HFCK84!V\*8;U'4.!F_

MD60RL_05,MXWL[28&>39I,[:07-3Y "),XE2Y".E3&PBXR^E3)-*D6Z5,F\K
M5088&?]QBF2R5#EI*7+;4J3(D?$74B3;B3/VA%E_J7(',8(]11YBBG1&<5*D
M**\RZ97'DIPIRNX4I8>*\DL%=1X4<3L%92%!V844=?8*N(."LJ" S)^B3I^ 
MVR4HZQ>4!5+4V2? ] C*)$&9/I-,")/815GPZ:35IY.W3\9'TGHY0#IO'Q"^
MSR#I78OUM0C"-RL(7\X >KU#TG
M19W]`FY 4-8G*.M)4:<DX X)RKH%97K_?4'X2AG1.VG^S^E69'Q F'+U]%E+
MR9,'H<) DARL7'SFD+I#P8M53Y=C9Y_BQDW, Z=1L%P_C8],5:7%,TS\2C]9

MY=B.QKVLV;XO\(J;.L \;TUP\++.*BF%Y\$6OU0WX#O2Q:EEF G*[8''1/XL

M+ 75)E83F $"&X.^X8 ?^Y_U"?P3/:UMB36MK4E?6\WRG) B;\PADQF,7GV)
M3!7%);+I\=5\FWB7)JS)`I'I1.M_/(XFD^F*;!.W8M G^+\/0%^NTZU!$?.0
MSO^I',ZY_6SD;Y0&CR,\-78H.RH"_TESD,E5* +__W39I+R-_BB;2#GZ`OQ[

MX()A`?J_P)1O'B3'XWJ8CA_4^Q6^&(<'PR;'G_=+.EQ?U /<.MC.VN+-]3Q.

MQ?-)!0]B[+T*^"S+WP!Q*VC\ \OSV-SX5]P=^!X L9QDGT_HGP-]_Q0_UI5*


M;<7 V'9&N]73C)['(-HNU<>H7^UFU*<&&.U4!S'05,) TTN,GL7H6B]&UY[!
MZ-KG,;KVM#K.Z"GU%49/JJ\Q>D)]G=%V]2:CQ]4W&6U3)QD]A &XK>J[C+:H





M!K;E:1 ;K'V!._!5M 9>FZ.!_V9KX,E9&OC4H8%W<S7P<XX&'I^K D5.%6Q;
MJ.*?D0I&(BLH!<."9RE?XQ'*4][%W?^R=RW045SG>:X>>)%6T HMPP("%KQ 
M801&& %"8(0EQ$L6DA8M+UE"2 N2$)+0K 0R6)8-<E 6_(KCNG:=UNV2X!Z:
MMLXYJ9*3.KC"V(Y3OU([/75K-^[=8A?JXR2MCQ/W='N_.P_-S(Y&D TY:<[N
M :O=O8_Y[W_OSIVYWS???QP).*91,(PIJ,P4U&,*.C*M0Y+/(>>_U3V!S99)
MA]>W([W"XV*KYTYE]63+J0O+Z2YU.2V34=8VH65 8BGDWO\A"%8U;4(;8<WD
MW?]S08C%JMD2N!S_>>FJV%1!8M38!R^&2FT]JSC3SLW_%^+J(5:8IQ[TDK.F

M+PX,1KXEDGLC;)XX(_/!]3T)+_1S+V 7_FQE%8\%;)*]+Y=R* $+?X:\>-,,

M;;A$<?EBA^5CGO \UN.)%=9QGV  +#QQXI*-7UFL%"(KN7%L* \\1.M9^DBD
M"?T_R-X^'#F,_L]$_Y> _[O0?R_OOQ9)SZF2.9! %V" 8UVR305O[Y)<P"_W
MZ%0<11B^7_O<.T +G&#C4
M[_,IBS['$1 6"Y%T;M-BEIZEV_C(;T?/Z_C([V,]IUM&*-?5VN?NV; I+ MF
M-^NMQ-6["%M^R&T9&M/_S(9\3NI ,W$*2\_06UAZ7R0?-K!33G]D-4R8!Q-R
MN0E!W8/\OAT2YU3EG5:Q=Q[\UQR*F:3[P5SCQGTTWA\,)T85<7K:P.E(+D_G

M8#LW

ML=^(0SJUGJWP.*ME[^5ASL>ZY5_-X,5 #DXUQ77L1#U9/07$"H_SCAPEXSI?
M+)-G+"UFZ4E^[CP1:4$/V,HV\$"D%^>+:3A5U*,;.^.Z,2.^&RGD>G3C`N_&


M^+ *'Q?BXRQ\=.%C&N^ 4Z=LH9*6)O&3\Q0]PVD6&$[_P!E.;\8SG*9R<I/4


MTO$T-X[6P)+*$Q98MZ;E-&48% /-*C1U=G3XFX+;.WF/5"J4EOAB5JV]-1#T

M3 /7R*R6D8PUU4#W,G6YCI ECN,H1E+6-(,4I%D=,R84V%-+-7PALWJF;*CI
M$ALJ)5?/AI+K[_"N+VL,-O+SB7F)UHZ&QN;F[D=P9G*;EL ?%&%YC_--E2>F
M0['+0#R2"BL:XTJ)9M,2("^) E,G^:;)9A>TC_8))&FNJ3E:EU3AS#G/L'%K
M4HYKD,W5$[U,BIU/MN WS=+PFV9K^$W .IUI,Q&J^_)D)4NBDG F<(/(2E9$
M)2M2T5<A*UD1E:R.^57(2E9$)5.H+$%62I"5$F2E!%DI059*D)429*4$62E!
M5DJ0E:X;6>G>&T%6TC]A84E=NE>PL3OLCF:P9FX47VETKI)PYF%V_&Y_4R^.
M?_U92A/G`>%F;G0N4 9NJ4O;_8T=/5TE2Z6/WF!C=Y!]7"5D2D^82;>6;.C2

MW'J W0BS.0Z-^ILEC?IX<I'43E<J;DL5+HSV_G:U&P/:WMKL;NURXY;>SR:'

M(X(6]*1%/7ATQ#J)6_*F17GI`'C7Q2XU!6&!3"R84/\MRF/GHI7Y^AZ_N[F[
MM=>O0#T
M=<4E\$-</65S;+2ZTC$YG(A'8Y.,]:6-LC%,YB_,D4UQ]95ML[%;`)'M5%S]
MD3GEYK^X9D2'$UY)&GT\V"G&SX;!W2QOAX&K]*E%>9P2U<(*%RI9$,[+F_DQ
M]M+M' MZOA*VIO"W+EGB*YU/MN:]M"=?-PK-,Z\+H%,<!4/B". /O2!"]( 2
M$00Y(G#EAR+IADS;8<BT=4&FK1,R;1V0:3MTY9\AW?:OD&ZCD&[[B$NWB:3E
MRB619%VY*!+'E?/ 650A.87D29&D7!G NZ-(0).XPH78KJE:;2=5-39.MO )
M$BB^14&=B((Z02'[1I%!'S=P*F9J-"?2H'Q5\%YMP7_Z"C[C(B?%[9Z\K).0
MN3I5Y\D-;_?DA^L\>:&?G6:?D->=-K1.U3XXOE98TC/]Q4]L6=_[Z8L?NLB[
M!>]M0*&>=SY^`'(-4OD-J I"V5I!!CB#GB
MKUW];BCH<<$,B-%H&1BC(N^L/ R%S,S'W6Q2A5\/MWN<+WXL&YC\X^KP2\#Y
MI-(OR7\DT0 '9VR4")%NSD_X&XXWLL$]%KG$\<8?BZ0O$ -F5R22G$ KDH>1
M? X5M>?AX O<P1/DF4[B/--^O:207:EG,[)+%56?*;R.:>"$$\=L,2,G5!(L
M834N:UFD($2$_U%#B7 !N](0_#G'7I FR M7>/*AW>5,$O:S8F*HPN,"BR;K

M(AD8C3LYH:&!#U<SAJN=#U<WAFN0$RZ>XGE_C+QO\[R_8'GT&QBQAY'L5G7O
MICA)BC!<I/F%9$$"2"L`I'C(I7AH*;SCDKPS`Q22^R 5P3U4X7%+>&SH)9DQ
M\Q/>PU<L>L <`\?6:MSR/[S2YU:5DK3E\SD^G6>!3S,S\[ 4'?MM>]E Y/JD

M/M ZZ$,\[^O(>YKG/8N\YSA1Z 6>-XR\UWC>6\C[&.R**-#T$^?26=ZY'.2=


MN/\2"DAL'0_G;11Q1]P!1Y1S1U1 ZH(_0I< R>0=<>IX7JKU,O7]07V A!R%
M%,%F(S?J%0NC"BX6O,T,8XTMD$X G%=U`G278YR>\P!D8OJH0P7IA^_0,JY&
MC 6.<:Q02+)T`/]A:X\T.'*DDW%'*M'%)U&/5,:/5))T77M58B!$R<<ZR8\U



M5B0;N \>T_*>X(/:.%T\M *ZS^9FAC\I?K]W%_/ 3UG_:V-'I+Z'+N/,O 97

M5R3WX#S
M?MY/V8KFIVDB:::9(FFB;.CW479)V$C9;W<OG0V5,O8#KJ<+1'(WO54D=72)
M2/;092+935>(9!==+9*=E"T2.RB[&/)1ME+4TBTBV4XK1>*E-2*IH3Z15-/=
M(JD"\78;W2>22LJFTEVT3205M$,D6RF[8MI">T6RF=XCDDVT7R0;Z0,B*:</

M]'F1K*;?$TD1_8%(5F%-7TG_3B0KZ&61%%)V.;V<OBZ2V^G;(EE&WQ5)`?TG
MD2RE[XOD-OJA2);0?Q?)8OH?(LFGGXAD$?VE2&ZEGXED(?V-2/+H_T)P.0F"

M_TV/,O^YHLQ_TZ+,?V*4^6]J]#NXE6(]FA)E?<N./H6/IY$PA]T49:Z;%-T'

ME7,H4^.8<DXM4TYFP_'M*Y4-Q[Y-^E0Y5_!OH:;).7(:?MPA_Z'.[KX;P8][

M9Y] <RUC-Y<Q >8:QVXN<P+-]8S=7):!R&;6G);(YC P!\W*-[7[&W4$.RV[

M1 /SS:R>*?-MFBR!I9>XDJHKE+HXEME(]G2.E,;3MK1"50D*5X+"E:!P)2A<


M[L$>DW+GA? '>TR*4;Y]-.S1*BYY0\,MOU%E`U2L6HJZY0!V-UDT8D/IWK.;
M;*%A7W4;032#D-<IH<E2L(#S(Z#WB4OV\+ <SD82RC\*=*Q/+PQ 'Y?$?A_0

MIXHD2V]3YH1LRC>(-?%0-<PR\FKU*)5%5,[BE0MU6"8"1DB%RYW%Y;;>M*&%
M:I_*G6&?/5QO8^9+XS,)K;A$XM C3]G\\>G0RU*M!GMXAQ,`/P03SB[/+GX_
M8+N<+)06_:K[<U5D8!)_Z+Q/'_)M"CPK-1)P)+,^%0><O=.+`K9 ]MFM-C;Z

MW.^6*KKE70G.XW+%U>OH=/L[.GL.M'"JDKNU0ZXF\=D0<XB.` ?H]KNT02ZQ
MLRISF,"W:[=H0PW$F4!7_G^]GMF0A."*O8C)V(.PC4$$< P E&,W CH>1GC'
M+H1\[$3PQPZ$ 3R$ )#M" UY$$$BVQ NLA6!(UL00O(` DGN1UA)/P),-B/4

M!+OT(>QE+0) ;D<H3"^"8M8 /&8U`F56(63F- 3/K$08S;L04+,"H36W(LCF
M%H3;W(S FYL0 G,C G&6(RSG! 3H+$.HSE($[;P3X3O7(Y!G"4)ZKH.*U!T(
M\[D6`3_7(/1G,8* KD8XT"($!EV%$*$K$2QT!<*&%D)R:CDT VY'4-%E""]:

M>:!*=3-4J>9!E6HN5*G<4*6:`U6JV5"EF 55JERH4LV$*M4,J%)-ARJ5"ZI4


MQH+V$S&")"EHO^H,!1Q7YQ.6N,-;G<FOA[8ZKHIMFV.%3LXI<(S T_:PUU'L

M%\D!)(V\U[DZNH B45CJ")4Z1WAK??IR4U6R3KC$N:O ;14P8^4N:(D:5=[:
M<+O'X0M_JM<!:5:=5NE(_OOB2F=O?  1O J/\YX?M>88.MC*G!ON=X3?(3Y'

M+]5'UT '9#T\MQE0_S9X[E&1' %9RA&9!?>MA-,*N-/^0,\04:)#L>XYT;U.
MU81^OEZ32IA9['/VSF9V]HIG*VWL,WF;+;XUFL77YV0]*:ZT'4DMZG>PGAS1
M]R3Y9XL^8*TY:] 7$$"J=3W:HP28X]<3ZW"5UH\.U*,#T_BUD1;,= ',-$S"
M$3!SBB:PD:[:=,MJV:/&0W((F0IHW][:=$,"(IT9%[Q9+6P;$2: *0U>I'I0
MK;3 =MU]T:'=I<N6CU9)P3IKA*HOT?*83:<;E1OBFHY'R>Q&?8BX.D9%B0RC



MT1>Z'-8$R' 4X:J+MWL</2G%91Y[(&TH3:LO'F8YH7) 0O6VD,]YN=S-JDDQ


M51V*=5?GRRW]D::E7D<LX,+W2UFQ)Y[4/HS*.N&4`H;;8/^32.:Q3F C:[+P

MQH&T:!O4?HWMIJ-RI(0_Y!K!"=3F]P>M*>%H32?0F Z -8> UK0#K3D(M*8-



M9AW0FCN UJP%6K,&:$TQT)K50&N* -:L`EJS$FC-"J UA4!KE .MN1UHS3* 






MF)46VPI,`2&?DQV?+6=.OIPY>C-ACL^IU./'<+-CH  [CE0JP$JYV)=*J1B8
M$S ^6SX>Q?+!Z0(.CA;,$2 B'HRPJ=83F8V5HX E] WX^E7NZUO,! XTJ]2B

MJKPJWL0]M%7V/LS%3"EX%<XO]F%Y+7<IR%,9=W_)>) G/O3L3:PF5R,T[Y%6


M>D2 :AB)1K8G.4/W)!$QUZ^^D'J=I/(OI%KL\;.)8;&71 3KS>/1\I5M3R*,
M8Y.;6-V-_FY,7#SWMDO
M"SS(;$Q'D!N+$0^,/N+*1KI9[9%]!XO<P._*6'ZIU\L(IR +V[T;9<F!Y^0<
MQ!_*R1>JA- T_:]>W2$ V+8PS R<$O8D7Y?G:=FLF<ACG+-MUQN!OS9Y L$&
MV)G-"KDE5GCFZ+-7JFJU>\URK7$2JPEZ&D-=*9\-W$VXZ?V_]JXF)*HH"I_'


MG$O6NQT?K,/4UW7>V(N+_C%?)IQ3WRGT]AD(1[,WU1_M3R1Q\6M%ID099I")


M'U[=Y,<O:UQT*4,:D'-4D-H%:/2 NE^[T *IJP8TRD0I"(U!Y34)*3U+7N7?
M75;SWI7DVDT.\>$=_K7NR;T]\WBL&B;Q9"XX.6&PGLENJ?;\Y,">`DC5+4(I
M=^ 3#U4
MK396=B^ KQ/C<,O>&UI-B&'K/;4.'V:DX#A%PE8G2(^ID[35':2DTE<'_FEO
MW__ZP8D^#C5P!Q).7&8.H)$=/SX!>+,D[HUN"&=8I<-B26=3YKE;&P\5HH^/


MEPZKC^0+B&\YZ"&1M^M _P MUF5KL5VPX.&'3VRP'+2]Y:9 ^^0T7 'X7>19
MRS)<7V%-*SZU., KP,_WR7>%Y'ZP1?;]4SOK1[O/)_I'ATXW-QX[U-I$/4[L


M..&[C) V /9L>-Q;!:-M,X4UDYS75MV_RLA^VSIOASHXP" 3+!GTOB1HD 8/


M_W'Y4XUE-MEM$=)A84D/D9WH)CF=7Y75(QAJ51JB*&0.T^]CN-BC%]:1%;+7
MV?F?DS<`]D,V7SXK[T5A1DJ\]WAVK+[XL<M9$,?\<I85=4Q!VFFB-9$46XA6
M+E=O8E#H7$(GG-/2":N;&ZR$"8 C[ S5_P`\G,6SY]P$Q!A#S*,[H-!D!%?7
MER5R47F[D,IYT7FDMLZ :W$&N(.4N!%QM#Y7&F-H%% 9DD(40[,RS""Q] :%
M -;EG8[KT.8+`GVO^ `;IUC\_RGL1OU?Y*%'&7I%Y)QLO%[LXX7L'F!]T.<V
MEY1ZM42>QU[JY2+?//9X:*]L?T#N
M,!F;U&L,:T:T)L^GP\'T;XE5,F%_!C.6[S= ?5AK[P284H!9A>GA^/3 +K-F
M1+-MK6?W+BM*%J,%NDCY[R&O\GR;M$*1\C[;*2GM(:U%WRKJ_XE'J.(;[6XW
MEM;_R8(`Y4P-C%DY 064?]-'_WS.)4;M(6>4>"7;XQL$UE)GHB#V

M`P04``(`" `K?,\N>]$36ZP&``#I
MVD80_ R_8N,/B90J!*??[+H=;,LQ,Q \ .MFVHY'2(?16. 8Z63LO/WV[NX=



M0MX+YBV3Y+NG(A)*E&30SI=Z3<39%%D#H:U,`([ O=MU^^V3F[[;.H7/T+MT
MNS?N7^W!L-U][]1JM;=O`<$)PO 6.>9ECNM^>^ :CE;GNO5A8.CG2: T?3)?


M/A 6%9'OH1VT35C?L"E.5<!)RG4?8)5L0V2_Q;(>PG4;^&G8O^J>.#L%<%W7
M- F;`K9)6E5\ZEX4XD]Z.0=<=OCQL.Y'7KJT? #Z


M'!HV2TT\1<LRCAX+VU OKFH%-FW$^2XS$LM,Q"* L4RJ<HP<48B>95-6?X+J




M9K^$YL,9?IKXX=6S=L>]&9RW^BY7=5ZCF"VS$#FQ
MG9P1OW6K'ULO)O1*)'(.L9B; N$FB4RLO:*4'$ 6>R-ZT24CJM^L/? *9;AV


MZSB?&!D*S6XX: RUU07_F_T*UU(A[BR:Z>1XG KE0%]$6.2B4NHCP+A $.->

MG.TEG5^;-K\^11: =QMS8(ISKLZ!F1:^MV.JHE4:Y8 1+)GT XRAB&61Q-8S
MDVE([=<DY";L$J&R)(9U_)H+Z"A,?I;LZ+61M^)YLTI,8:\NBSM8FY-CLC8I
MF^CQER,ZYC! X4=!ZGPO57S:>6V_9 K87^1>OF5K,551V%X8;C%+.0S:<HY"
M[KJ(G]0*QQ["A!V9)JP>U8#VQ67'O> JL/XVXD 3^] -= "+BO/2*6]BKWAZ


MC_>(#PHJ
ML>=VW*<&LPP7A>T[P95?-^R*UC-P*JKK3\8)3TNIJ)Y1M^%2OFC).9_N.EOP

M/3VA-_;2E(YK7+.9 %A')& ;V'TDU)74T?*U: =>L C=,37ZMY)11<AW[9LH

MEGB5B'<"EYM1-;H+,?\'X(6,'&/V:PO(!=-..&_OIZR4'DHXHS*ZI5%!B+[B
ME\P4]SI\1 WF7 2['1)=I2+(XQ7&,Z3DJ-%UQ)UX'$DO"9 79="FN0E))R**

M:^DZ^LU^TR8$C,O;B/<7Q 3*-N)W1+QZ%;F[G<U-=NUOLN,=Z?T/4$L!`A0`
M% `"`` `?7O/+A]HU3E[`P``<  ```\``````````0` `+:!`````'-T<F5A
M;5]M96UO<GDN9%!+`0(4`!0`` `(`&B0SRZ5AG5*F0(```$(```.````````

M608``!\3```/``````````$`( "V 6T&``!S=')E86U?<V]C:V5T+F102P$"

M96%M+F102P$"% `4``(`" !UB\\NW1H?ZRXT````X ``" ```````````" `
MMH'%%P``<W1R96%M+FQI8E!+`0(4`!0`` `(`"M\SRY[T1-;K 8``.D7```-
M``````````$`( "V 1M,``!S=')E86U?9FEL92YD4$L%! `````&``8`7P$`
'`/)2````````
`
end
Jun 15 2003
prev sibling parent "Matthew Wilson" <matthew stlsoft.org> writes:
This would be good.

Pestilentially ...

Matthew

"Benji Smith" <Benji_member pathlink.com> wrote in message
news:bc4vn6$18s$1 digitaldaemon.com...
 This message is basically a request for Walter to make a "State of the
Union
 Address" regarding the current path of D development.

 A recent post asked a question about the stability of the current D
language
 design. The last few releases of the compiler have consisted primarily of
bug
 fixes (and linux interoperability) but not new language features. Can we
assume
 that the language design, as presented in the online documentation, is
 essentially complete?

 If not what areas of the language don't feel quiiiiiite done yet? And what
areas
 of the language are definitely nailed down?

 I also have a few corollary questions:

 1) Separate and apart from language design, how well are you satisfied
with the
 current DMD implementation of the language? What's still missing from the
 compiler? What are the biggest priorities?

 2) What areas of the standard library are still in flux? What areas of the
 standard library still have the most work to be done?

 3) What types of libraries would you most like to see **us** working on
(that
 aren't destined to end up in the standard library)? Personally, I'm about
70%
 finished with an XML parser that I plan to contribute back to the D
community.
 An XML parser seems like an important library, but I'm curious to know
what
 **you** would like to see being developed.

 Thanks,

 --Benji
Jul 08 2003