digitalmars.D - A few questions..
- Dave (41/41) Sep 10 2005 Long - sorry...
- Charles (33/83) Sep 10 2005 the
- Derek Parnell (10/24) Sep 10 2005 Very.
- Walter Bright (7/10) Sep 10 2005 my
- Dave (6/16) Sep 14 2005 Another great reason - probably end up just as important as the other re...
- Chris Sauls (6/6) Sep 11 2005 I vaguely recall Walter saying he's interested in getting the compiler t...
- J Thomas (7/62) Sep 11 2005 Yes D very much needs reflection and emitting.
- Walter Bright (4/7) Sep 12 2005 It isn't what reflection is commonly understood as. I must say I've
Long - sorry... One of the issues that people have long had with C/++ has been the necessity of building and maintaining, by hand, both header and code files for libraries. With that in mind, I've just started work (with a jump start from dmdfe - thanks Ben Hinkle!) to 'finish' the symbol-file generation that is already built-in to the reference compiler and about (say) 90% completed. The big difference is that the 'symbols' this version will emit will be in the form of a compiler portable 'header' format, if you will (*). The reasons for doing this is simple: Make D more appealing to 3rd party library developers by getting rid of manually supporting two versions of code for closed-source libraries, and to make the 'symbol file' idea portable between D compilers and useful to other tools that understand the D language (**). The ultimate goal would be to include this functionality in the language spec. and, therefore, the compiler itself once it is adequately tested and IF it proves to be useful, and of course if Walter agrees to it. The questions are: - How important is this? For example, to get 3rd party lib. developers interested in developing libs. for D? - How useful will this be? - How important is it to specify as a part of the language and as a job for the compiler instead of a stand-alone tool (bare in mind that this tool HAS to stay in sync. with a conforming compiler because it is generating code)? - What priority should this have over, say, including a doc. generator in the compiler itself (assuming limited resources and the desire to avoid compiler bloat)? The reason for the last question is that I was a bit dismayed that the recent thread on documentation, while very important, seems by the tone of things to have been given priority over some other functionality like this (that actually needs a compiler to be done well because it is, after all, emitting code and not documentation). Thanks, - Dave (*) Basically what I have planned is that it will emit everything in the original source file except function bodies, compiler conditionals, code rightfully omitted by compiler conditionals, invariant and unittest blocks. It will all be in a form that will be understood by any verion-level compliant D compiler (and perhaps "pretty printed" as well). I haven't decided on emitting template code yet, at least for the first version. (**) I could care less if you want to distribute your source code or not, my motivation is for the good of the D language. D shouldn't carry on this part of the C lineage.
Sep 10 2005
- How important is this? For example, to get 3rd party lib. developers interested in developing libs. for D? - How useful will this be? - How important is it to specify as a part of the language and as a jobfor thecompiler instead of a stand-alone tool (bare in mind that this tool HAS tostayin sync. with a conforming compiler because it is generating code)? - What priority should this have over, say, including a doc. generator inthecompiler itself (assuming limited resources and the desire to avoidcompilerbloat)?- Really important - Super useful - Definetly would want it built-in to the compiler, maintaing such a tool would suck - Don't know on that one , I imagine both would be important. Charlie "Dave" <Dave_member pathlink.com> wrote in message news:dfvhj9$m50$1 digitaldaemon.com...Long - sorry... One of the issues that people have long had with C/++ has been thenecessity ofbuilding and maintaining, by hand, both header and code files forlibraries.With that in mind, I've just started work (with a jump start from dmdfe -thanksBen Hinkle!) to 'finish' the symbol-file generation that is alreadybuilt-in tothe reference compiler and about (say) 90% completed. The big difference is that the 'symbols' this version will emit will be intheform of a compiler portable 'header' format, if you will (*). The reasons for doing this is simple: Make D more appealing to 3rd partylibrarydevelopers by getting rid of manually supporting two versions of code for closed-source libraries, and to make the 'symbol file' idea portablebetween Dcompilers and useful to other tools that understand the D language (**). The ultimate goal would be to include this functionality in the languagespec.and, therefore, the compiler itself once it is adequately tested and IF it proves to be useful, and of course if Walter agrees to it. The questions are: - How important is this? For example, to get 3rd party lib. developers interested in developing libs. for D? - How useful will this be? - How important is it to specify as a part of the language and as a jobfor thecompiler instead of a stand-alone tool (bare in mind that this tool HAS tostayin sync. with a conforming compiler because it is generating code)? - What priority should this have over, say, including a doc. generator inthecompiler itself (assuming limited resources and the desire to avoidcompilerbloat)? The reason for the last question is that I was a bit dismayed that therecentthread on documentation, while very important, seems by the tone of thingstohave been given priority over some other functionality like this (thatactuallyneeds a compiler to be done well because it is, after all, emitting codeand notdocumentation). Thanks, - Dave (*) Basically what I have planned is that it will emit everything in the original source file except function bodies, compiler conditionals, code rightfully omitted by compiler conditionals, invariant and unittestblocks. Itwill all be in a form that will be understood by any verion-levelcompliant Dcompiler (and perhaps "pretty printed" as well). I haven't decided onemittingtemplate code yet, at least for the first version. (**) I could care less if you want to distribute your source code or not,mymotivation is for the good of the D language. D shouldn't carry on thispart ofthe C lineage.
Sep 10 2005
On Sat, 10 Sep 2005 21:01:29 +0000 (UTC), Dave wrote:I've just started work ...that will emit (symbols) in the form of a compiler portable 'header' format...The questions are: - How important is this? For example, to get 3rd party lib. developers interested in developing libs. for D?Very.- How useful will this be?Extremely.- How important is it to specify as a part of the language and as a job for the compiler instead of a stand-alone tool (bare in mind that this tool HAS to stay in sync. with a conforming compiler because it is generating code)?Essential.- What priority should this have over, say, including a doc. generator in the compiler itself (assuming limited resources and the desire to avoid compiler bloat)?Much Higher. -- Derek Parnell Melbourne, Australia 11/09/2005 9:40:40 AM
Sep 10 2005
"Dave" <Dave_member pathlink.com> wrote in message news:dfvhj9$m50$1 digitaldaemon.com...(**) I could care less if you want to distribute your source code or not,mymotivation is for the good of the D language. D shouldn't carry on thispart ofthe C lineage.It's useful even if you do distribute source code. Look at gc.d and object.d, for example. There's just no good reason to have to reparse the whole garbage collector and its support code for every compilation <g>.
Sep 10 2005
In article <dg06lg$1mk8$2 digitaldaemon.com>, Walter Bright says..."Dave" <Dave_member pathlink.com> wrote in message news:dfvhj9$m50$1 digitaldaemon.com...Another great reason - probably end up just as important as the other reasons once all is said and done, I think, because of the better build speed. And also to encourage people to develop RAD tools for D (two of the reasons I think that demand for C++ RAD tools never caught on - a bear to manage and automatically maintain 2 sets of files in the RAD IDE, and build time).(**) I could care less if you want to distribute your source code or not,mymotivation is for the good of the D language. D shouldn't carry on thispart ofthe C lineage.It's useful even if you do distribute source code. Look at gc.d and object.d, for example. There's just no good reason to have to reparse the whole garbage collector and its support code for every compilation <g>.
Sep 14 2005
I vaguely recall Walter saying he's interested in getting the compiler to do this (presumably activated by a switch like -h/-headers) and I also think I remember Derek saying he'd like to get Build to do it, as well... Maybe you ought to coordinate with one or both of them on this? I'd /love/ to see this feature a reality! Its on my personal wish-list. -- Chris Sauls
Sep 11 2005
Yes D very much needs reflection and emitting. can I get a copy of that source by chance? maybe this could be added to something like dflect.... Walter, can we get an official statement regarding reflection? is this feature going to be added to the language and if so what is its priority and possible timeframe. Dave wrote:Long - sorry... One of the issues that people have long had with C/++ has been the necessity of building and maintaining, by hand, both header and code files for libraries. With that in mind, I've just started work (with a jump start from dmdfe - thanks Ben Hinkle!) to 'finish' the symbol-file generation that is already built-in to the reference compiler and about (say) 90% completed. The big difference is that the 'symbols' this version will emit will be in the form of a compiler portable 'header' format, if you will (*). The reasons for doing this is simple: Make D more appealing to 3rd party library developers by getting rid of manually supporting two versions of code for closed-source libraries, and to make the 'symbol file' idea portable between D compilers and useful to other tools that understand the D language (**). The ultimate goal would be to include this functionality in the language spec. and, therefore, the compiler itself once it is adequately tested and IF it proves to be useful, and of course if Walter agrees to it. The questions are: - How important is this? For example, to get 3rd party lib. developers interested in developing libs. for D? - How useful will this be? - How important is it to specify as a part of the language and as a job for the compiler instead of a stand-alone tool (bare in mind that this tool HAS to stay in sync. with a conforming compiler because it is generating code)? - What priority should this have over, say, including a doc. generator in the compiler itself (assuming limited resources and the desire to avoid compiler bloat)? The reason for the last question is that I was a bit dismayed that the recent thread on documentation, while very important, seems by the tone of things to have been given priority over some other functionality like this (that actually needs a compiler to be done well because it is, after all, emitting code and not documentation). Thanks, - Dave (*) Basically what I have planned is that it will emit everything in the original source file except function bodies, compiler conditionals, code rightfully omitted by compiler conditionals, invariant and unittest blocks. It will all be in a form that will be understood by any verion-level compliant D compiler (and perhaps "pretty printed" as well). I haven't decided on emitting template code yet, at least for the first version. (**) I could care less if you want to distribute your source code or not, my motivation is for the good of the D language. D shouldn't carry on this part of the C lineage.
Sep 11 2005
"J Thomas" <jtd514 ameritech.net> wrote in message news:dg13ke$2bff$1 digitaldaemon.com...Walter, can we get an official statement regarding reflection? is this feature going to be added to the language and if so what is its priority and possible timeframe.It isn't what reflection is commonly understood as. I must say I've underestimated the desire to have such a tool.
Sep 12 2005