digitalmars.D.announce - DMD svn and contract inheritance
- Leandro Lucarella <llucax gmail.com> Sep 27 2009
- Walter Bright <newshound1 digitalmars.com> Sep 27 2009
- Leandro Lucarella <llucax gmail.com> Sep 27 2009
- Vincenzo Ampolo <vincenzo.ampolo gmail.com> Sep 28 2009
- Walter Bright <newshound1 digitalmars.com> Sep 28 2009
- Stewart Gordon <smjg_1998 yahoo.com> Oct 01 2009
- Walter Bright <newshound1 digitalmars.com> Oct 01 2009
- Stewart Gordon <smjg_1998 yahoo.com> Oct 01 2009
- Walter Bright <newshound1 digitalmars.com> Oct 01 2009
- Stewart Gordon <smjg_1998 yahoo.com> Oct 02 2009
- Kagamin <spam here.lot> Oct 05 2009
- Robert Clipsham <robert octarineparrot.com> Sep 30 2009
- "Dejan Lekic" <dejan.lekic gmail.com> Sep 30 2009
- Robert Clipsham <robert octarineparrot.com> Oct 05 2009
- Walter Bright <newshound1 digitalmars.com> Oct 05 2009
- BCS <none anon.com> Oct 05 2009
- Walter Bright <newshound1 digitalmars.com> Oct 06 2009
- Robert Clipsham <robert octarineparrot.com> Oct 06 2009
- Walter Bright <newshound1 digitalmars.com> Oct 06 2009
- Leandro Lucarella <llucax gmail.com> Oct 06 2009
- Moritz Warning <moritzwarning web.de> Oct 13 2009
- Don <nospam nospam.com> Oct 06 2009
- Robert Clipsham <robert octarineparrot.com> Oct 06 2009
- Christian Kamm <kamm-incasoftware removethis.de> Oct 06 2009
- "Dejan Lekic" <dejan.lekic gmail.com> Oct 23 2009
Thanks for finally taking this way, Walter =) http://www.dsource.org/projects/dmd/timeline -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- He andáu muchos caminos, muchos caminos he andáu, Chile tiene el buen vino y Suecia, el bacalao. Esta'o Unido tiene el hot do', Cuba tiene el mojito, Guatemala, el cornalito y Brasil la feishoada.
Sep 27 2009
Leandro Lucarella wrote:Thanks for finally taking this way, Walter =)
You're welcome. I hadn't done it before because I couldn't figure out a reasonable way of implementing it.
Sep 27 2009
Walter Bright, el 27 de septiembre a las 13:45 me escribiste:Leandro Lucarella wrote:Thanks for finally taking this way, Walter =)
You're welcome. I hadn't done it before because I couldn't figure out a reasonable way of implementing it.
I don't know if you are talking about DMD being in a public repo, the contract inheritance or both. But anyway, I'm glad you could finally do both =) -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- JUNTAN FIRMAS Y HUELLAS POR EL CACHORRO CONDENADO A MUERTE... -- Crónica TV
Sep 27 2009
Leandro Lucarella wrote:http://www.dsource.org/projects/dmd/timeline
Thanks Walter. ;) Now, thanks to the public svn we can track changes easily. This will help development of gdc too! Btw today Michael merged dmd 1.035 and i'm close to finish dmd 2.015 See you.
Sep 28 2009
Vincenzo Ampolo wrote:Now, thanks to the public svn we can track changes easily. This will help development of gdc too!
I'm glad you guys have picked up gdc. There are some tricky bits to doing contract inheritance, I hope gdc and ldc don't have trouble with it.
Sep 28 2009
Walter Bright wrote: <snip>There are some tricky bits to doing contract inheritance, I hope gdc and ldc don't have trouble with it.
What tricky bits are those? Stewart.
Oct 01 2009
Stewart Gordon wrote:Walter Bright wrote: <snip>There are some tricky bits to doing contract inheritance, I hope gdc and ldc don't have trouble with it.
What tricky bits are those?
It's outlined in the code comments, but it's implemented by making the contract code a nested function. The overriding function calls those nested functions of the overridden function(s). In order for this to work successfully, the 'this' pointer and the stack parameters must wind up in the same relative position on the stack.
Oct 01 2009
Walter Bright wrote:Stewart Gordon wrote:Walter Bright wrote: <snip>There are some tricky bits to doing contract inheritance, I hope gdc and ldc don't have trouble with it.
What tricky bits are those?
It's outlined in the code comments, but it's implemented by making the contract code a nested function. The overriding function calls those nested functions of the overridden function(s). In order for this to work successfully, the 'this' pointer and the stack parameters must wind up in the same relative position on the stack.
I'm still none the wiser about why it absolutely has to be done like this instead of the simpler solution I proposed years ago. But in any case, thank you for finally getting round to it! Stewart.
Oct 01 2009
Stewart Gordon wrote:I'm still none the wiser about why it absolutely has to be done like this instead of the simpler solution I proposed years ago.
Can you refresh my memory? (The nested function approach is fairly simple in terms of lines of code to implement.)
Oct 01 2009
Walter Bright wrote:Stewart Gordon wrote:I'm still none the wiser about why it absolutely has to be done like this instead of the simpler solution I proposed years ago.
Can you refresh my memory?
Seems straightforward to find to me, but here it is: http://www.digitalmars.com/d/archives/digitalmars/D/31595.html(The nested function approach is fairly simple in terms of lines of code to implement.)
I can imagine how it works now. Essentially it's a function that can act as a nested function to the function for which it is originally defined or any override of it, which works since a nested function is really just a function with a pointer to the outer function's stack frame as a parameter. Correct? BTW I just rediscovered this old thread http://www.digitalmars.com/d/archives/digitalmars/D/9775.html which is making me think we probably ought to enable contracts on bodyless functions some time. Stewart.
Oct 02 2009
Walter Bright Wrote:It's outlined in the code comments, but it's implemented by making the contract code a nested function. The overriding function calls those nested functions of the overridden function(s). In order for this to work successfully, the 'this' pointer and the stack parameters must wind up in the same relative position on the stack.
'this' pointer could be passed as a regular argument just like stack pointer.
Oct 05 2009
Dejan Lekic wrote:You guys are doing awesome job with GDC, thank you _VERY MUCH_! GDC is the only D2 compiler for 64bit architecture...
Actually, there are no D2 compilers for 64 bit. GDC's support for D2 is very minimal, I don't know how it compares to LDC's, but I'd guess they were about the same (GDC might be slightly further ahead actually, I've never tried it). Either way, DMD is pretty much the only choice for a D2 compiler currently.
Sep 30 2009
You guys are doing awesome job with GDC, thank you _VERY MUCH_! GDC is the only D2 compiler for 64bit architecture...
Sep 30 2009
Leandro Lucarella wrote:Thanks for finally taking this way, Walter =) http://www.dsource.org/projects/dmd/timeline
Now that DMD is under version control it should be fairly easy for me to adapt the automated build system used for ldc for dmd. I can set it up to automatically build dmd after a commit, and run dstress/build popular projects and libraries, even package up dmd for "Nightly" builds and maybe even post the results to the D newsgroups/IRC channels. If you'd be interested to see this Walter, let me know what exactly you want automating/how and where you want results and I'll see about setting it up for you.
Oct 05 2009
Robert Clipsham wrote:Leandro Lucarella wrote:Thanks for finally taking this way, Walter =) http://www.dsource.org/projects/dmd/timeline
Now that DMD is under version control it should be fairly easy for me to adapt the automated build system used for ldc for dmd. I can set it up to automatically build dmd after a commit, and run dstress/build popular projects and libraries, even package up dmd for "Nightly" builds and maybe even post the results to the D newsgroups/IRC channels. If you'd be interested to see this Walter, let me know what exactly you want automating/how and where you want results and I'll see about setting it up for you.
The problem is if some package fails, then I have a large debugging problem trying to figure out unfamiliar code.
Oct 05 2009
Hello Walter,I can set it up to automatically build dmd after a commit, and run dstress/build popular projects and libraries
The problem is if some package fails, then I have a large debugging problem trying to figure out unfamiliar code.
Or it could just inform the owner of the lib and they can cut out a test cases or even do most of the detective work for you.
Oct 05 2009
BCS wrote:Hello Walter,I can set it up to automatically build dmd after a commit, and run dstress/build popular projects and libraries
The problem is if some package fails, then I have a large debugging problem trying to figure out unfamiliar code.
Or it could just inform the owner of the lib and they can cut out a test cases or even do most of the detective work for you.
Then please go ahead and set it up.
Oct 06 2009
Walter Bright wrote:Then please go ahead and set it up.
What exactly would you like setting up? Currently I'm thinking: * Automated builds of dmd 1 and 2 * Automated builds of druntime, phobos and tango * Automated DStress runs * Automated dmd test suite runs (if you're willing to provide me access to the test suite) * Automated builds of more popular projects from dsource (with permission from the maintainers obviously) Is there anything else you want? I also need to know how you would like results to be reported. Would you like them to sit on a web page with an RSS feed, email the results to a specified list of email addresses, post to the nextgroups, post to IRC?
Oct 06 2009
Robert Clipsham wrote:Walter Bright wrote:Then please go ahead and set it up.
What exactly would you like setting up? Currently I'm thinking: * Automated builds of dmd 1 and 2 * Automated builds of druntime, phobos and tango * Automated DStress runs * Automated dmd test suite runs (if you're willing to provide me access to the test suite) * Automated builds of more popular projects from dsource (with permission from the maintainers obviously) Is there anything else you want? I also need to know how you would like results to be reported. Would you like them to sit on a web page with an RSS feed, email the results to a specified list of email addresses, post to the nextgroups, post to IRC?
I suggest setting it up to email the maintainers of the packages being compiled any problems with compiling them.
Oct 06 2009
Walter Bright, el 6 de octubre a las 12:07 me escribiste:Robert Clipsham wrote:Walter Bright wrote:Then please go ahead and set it up.
What exactly would you like setting up? Currently I'm thinking: * Automated builds of dmd 1 and 2 * Automated builds of druntime, phobos and tango * Automated DStress runs * Automated dmd test suite runs (if you're willing to provide me access to the test suite) * Automated builds of more popular projects from dsource (with permission from the maintainers obviously) Is there anything else you want? I also need to know how you would like results to be reported. Would you like them to sit on a web page with an RSS feed, email the results to a specified list of email addresses, post to the nextgroups, post to IRC?
I suggest setting it up to email the maintainers of the packages being compiled any problems with compiling them.
I think it would be best to have a newsgroup/mailing list/RSS for this. At least being able to see the result in a website. I'm very curious, I'd love to be able to see the results of this automated tests =) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- HACIA NEUQUEN: EL JUEVES SALDRA CARAVANA CON PERROS DESDE CAPITAL EN APOYO AL CACHORRO CONDENADO A MUERTE -- Crónica TV
Oct 06 2009
On Tue, 06 Oct 2009 21:28:58 -0300, Leandro Lucarella wrote:Walter Bright, el 6 de octubre a las 12:07 me escribiste:Robert Clipsham wrote:Walter Bright wrote:Then please go ahead and set it up.
What exactly would you like setting up? Currently I'm thinking: * Automated builds of dmd 1 and 2 * Automated builds of druntime, phobos and tango * Automated DStress runs * Automated dmd test suite runs (if you're willing to provide me access to the test suite) * Automated builds of more popular projects from dsource (with permission from the maintainers obviously) Is there anything else you want? I also need to know how you would like results to be reported. Would you like them to sit on a web page with an RSS feed, email the results to a specified list of email addresses, post to the nextgroups, post to IRC?
I suggest setting it up to email the maintainers of the packages being compiled any problems with compiling them.
I think it would be best to have a newsgroup/mailing list/RSS for this. At least being able to see the result in a website. I'm very curious, I'd love to be able to see the results of this automated tests =)
A website would be my personal favorite. It's open to everyone and don't spam the mail folder in times of broken code.
Oct 13 2009
Robert Clipsham wrote:Leandro Lucarella wrote:Thanks for finally taking this way, Walter =) http://www.dsource.org/projects/dmd/timeline
Now that DMD is under version control it should be fairly easy for me to adapt the automated build system used for ldc for dmd. I can set it up to automatically build dmd after a commit, and run dstress/build popular projects and libraries, even package up dmd for "Nightly" builds and maybe even post the results to the D newsgroups/IRC channels. If you'd be interested to see this Walter, let me know what exactly you want automating/how and where you want results and I'll see about setting it up for you.
I think that'd be fantastic. It'd be helpful if you could at least get dstress to run after the main releases. The dstress test page from LDC doesn't seem to operate any more. http://www.incasoftware.de/~kamm/ldc/tests/index.html I'd really like to see the results for the latest DMD, almost all of the "ERROR" (segfault/ICE) bugs should be fixed now. Walter doesn't necessarily ever have to look at it, but it'd be good as a pre-release check. There are quite a few incorrect dstress tests. I've been making tickets for them as I find them.
Oct 06 2009
Don wrote:I think that'd be fantastic. It'd be helpful if you could at least get dstress to run after the main releases. The dstress test page from LDC doesn't seem to operate any more. http://www.incasoftware.de/~kamm/ldc/tests/index.html
This page gets updated manually by Christian as he feels fit. For more up to date pages, see: http://ldc.octarineparrot.com/x86-32/web/ http://ldc.octarineparrot.com/x86-64/web/ For x86-32 and x86-64 respectively (these aren't completely automated yet, they require me to run a command to generate them every now and again... I'll sort this out when I get it set up for dmd). They still compare to dmd 1.045 as ldc still uses the 1.045 front end (I believe there were some regressions from 1.046+, not sure on the current status of this).I'd really like to see the results for the latest DMD, almost all of the "ERROR" (segfault/ICE) bugs should be fixed now.
This will get run when I set it up :)Walter doesn't necessarily ever have to look at it, but it'd be good as a pre-release check.
Agreed.There are quite a few incorrect dstress tests. I've been making tickets for them as I find them.
I believe Christian is the maintainer for the dstress project on dsource, he should be able to give you commit access if you have patches.
Oct 06 2009
Robert Clipsham wrote:There are quite a few incorrect dstress tests. I've been making tickets for them as I find them.
I believe Christian is the maintainer for the dstress project on dsource, he should be able to give you commit access if you have patches.
That's true. I've updated the front page with my email address and the request for help.
Oct 06 2009
LDC2 does not work at all on my 64bit GNU/Linux box, while GDC works without any problems (v2.014). Also D2 applications I wrote work well too. Sure, old version of D2 is supported so many cool features are missing, that is why I hoped some more up-to-date version of GDC will soon be released. D is loosing in popularity these days. Personally, i think one of the major reasons is the stale development of GDC. (Yes I am aware of the LDC project, but it is quite new one, and lacks working D2 support).
Oct 23 2009









Walter Bright <newshound1 digitalmars.com> 