digitalmars.D - Wasn't someone trying to work on a C backend for DMD?
- Chad J (4/4) Apr 28 2012 I've googled for it a bit and searched over newsgroup messages but I
- Nick Sabalausky (5/9) Apr 28 2012 MicroD: https://github.com/yebblies/dmd/tree/microd
- Daniel Murphy (7/17) Apr 28 2012 The original thread is here:
- Chad J (20/30) Apr 28 2012 Hey, thanks!
- Daniel Murphy (7/26) Apr 28 2012 It was never a serious project unfortunately, just an experiment.
- Chad J (3/33) Apr 28 2012 I was afraid you might say that.
- Nick Sabalausky (4/10) Apr 28 2012 After having done the experiment, do you feel it's a promising approach?...
- Daniel Murphy (11/16) Apr 28 2012 I actually found it a lot easier than expected. Most of the constructs ...
- bls (2/6) Apr 28 2012 http://www.dsource.org/projects/tdc
- Chad J (4/11) Apr 28 2012 Interesting! I'd forgotten about that (or possibly not heard of it?).
I've googled for it a bit and searched over newsgroup messages but I can't find the post that mentioned this. I think it might have been amidst the discussion of the javascript backend. I want to download it and try it out.
Apr 28 2012
"Chad J" <chadjoan __spam.is.bad__gmail.com> wrote in message news:jnhv5n$qe3$1 digitalmars.com...I've googled for it a bit and searched over newsgroup messages but I can't find the post that mentioned this. I think it might have been amidst the discussion of the javascript backend. I want to download it and try it out.MicroD: https://github.com/yebblies/dmd/tree/microd D->JS thread mentioning it in a few places: http://forum.dlang.org/thread/yfmgvgprfpiquakiyjlk forum.dlang.org?page=1
Apr 28 2012
"Nick Sabalausky" <SeeWebsiteToContactMe semitwist.com> wrote in message news:jnicul$1eka$1 digitalmars.com..."Chad J" <chadjoan __spam.is.bad__gmail.com> wrote in message news:jnhv5n$qe3$1 digitalmars.com...The original thread is here: http://forum.dlang.org/post/icmsymtoqgkcsxwlpqgj dfeed.kimsufi.thecybershadow.net Adam's javascript backend is based on this branch, and has had quite a bit more work done on it. It is much more of an experiment than a serious backend.I've googled for it a bit and searched over newsgroup messages but I can't find the post that mentioned this. I think it might have been amidst the discussion of the javascript backend. I want to download it and try it out.MicroD: https://github.com/yebblies/dmd/tree/microd D->JS thread mentioning it in a few places: http://forum.dlang.org/thread/yfmgvgprfpiquakiyjlk forum.dlang.org?page=1
Apr 28 2012
On 04/28/2012 11:36 PM, Nick Sabalausky wrote:"Chad J"<chadjoan __spam.is.bad__gmail.com> wrote in message news:jnhv5n$qe3$1 digitalmars.com...Hey, thanks! Bummer, no commits in the last 3 months or so. At any rate, I almost wonder if I can compile the output C code on the OpenVMS system at work. I have a project in C I work on from time to time, but it's an uncomfortable (to say the least) environment to work with. There is stuff like this: http://h30499.www3.hp.com/t5/Languages-and-Scripting/How-do-I-get-C-program-tracebacks-to-print-SOURCE-line-numbers/td-p/5570015 If I had DMD with C-backend at my disposal, then maybe I could instrument it with a calling convention that gives me exception handling and proper debug information. Then I'd also get arrays and various other really nice D features, even with just the basics. I wouldn't bother getting the GC to work, but it'd make me consider implementing some kind of reference counting. Even without ref counting I'd have way more at that point than what I have currently with straight C code. And if I /could/ get reference counting, and if the backend were solid enough, then the thing could probably be used for writing games. I'd have the ability to output extremely portable C code to pretty much any target except the web, and there's the JS backend for that. Very enticing! I wonder what it would take to get this sort of thing merged into mainline.I've googled for it a bit and searched over newsgroup messages but I can't find the post that mentioned this. I think it might have been amidst the discussion of the javascript backend. I want to download it and try it out.MicroD: https://github.com/yebblies/dmd/tree/microd D->JS thread mentioning it in a few places: http://forum.dlang.org/thread/yfmgvgprfpiquakiyjlk forum.dlang.org?page=1
Apr 28 2012
"Chad J" <chadjoan __spam.is.bad__gmail.com> wrote in message news:jniju1$1pf7$1 digitalmars.com...Bummer, no commits in the last 3 months or so.It was never a serious project unfortunately, just an experiment.At any rate, I almost wonder if I can compile the output C code on the OpenVMS system at work. I have a project in C I work on from time to time, but it's an uncomfortable (to say the least) environment to work with. There is stuff like this: http://h30499.www3.hp.com/t5/Languages-and-Scripting/How-do-I-get-C-program-tracebacks-to-print-SOURCE-line-numbers/td-p/5570015 If I had DMD with C-backend at my disposal, then maybe I could instrument it with a calling convention that gives me exception handling and proper debug information. Then I'd also get arrays and various other really nice D features, even with just the basics. I wouldn't bother getting the GC to work, but it'd make me consider implementing some kind of reference counting. Even without ref counting I'd have way more at that point than what I have currently with straight C code. And if I /could/ get reference counting, and if the backend were solid enough, then the thing could probably be used for writing games. I'd have the ability to output extremely portable C code to pretty much any target except the web, and there's the JS backend for that. Very enticing!It is a loooong way from being able to do that. Your best bet is probably to try and configure gdc or ldc to output c or compiled code for your platform. Completing MicroD would require porting most of druntime as well.I wonder what it would take to get this sort of thing merged into mainline.A huge amount of work.
Apr 28 2012
On 04/29/2012 01:53 AM, Daniel Murphy wrote:"Chad J"<chadjoan __spam.is.bad__gmail.com> wrote in message news:jniju1$1pf7$1 digitalmars.com...I was afraid you might say that. Thanks for the input!Bummer, no commits in the last 3 months or so.It was never a serious project unfortunately, just an experiment.At any rate, I almost wonder if I can compile the output C code on the OpenVMS system at work. I have a project in C I work on from time to time, but it's an uncomfortable (to say the least) environment to work with. There is stuff like this: http://h30499.www3.hp.com/t5/Languages-and-Scripting/How-do-I-get-C-program-tracebacks-to-print-SOURCE-line-numbers/td-p/5570015 If I had DMD with C-backend at my disposal, then maybe I could instrument it with a calling convention that gives me exception handling and proper debug information. Then I'd also get arrays and various other really nice D features, even with just the basics. I wouldn't bother getting the GC to work, but it'd make me consider implementing some kind of reference counting. Even without ref counting I'd have way more at that point than what I have currently with straight C code. And if I /could/ get reference counting, and if the backend were solid enough, then the thing could probably be used for writing games. I'd have the ability to output extremely portable C code to pretty much any target except the web, and there's the JS backend for that. Very enticing!It is a loooong way from being able to do that. Your best bet is probably to try and configure gdc or ldc to output c or compiled code for your platform. Completing MicroD would require porting most of druntime as well.I wonder what it would take to get this sort of thing merged into mainline.A huge amount of work.
Apr 28 2012
"Daniel Murphy" <yebblies nospamgmail.com> wrote in message news:jnil1c$1qv8$1 digitalmars.com..."Chad J" <chadjoan __spam.is.bad__gmail.com> wrote in message news:jniju1$1pf7$1 digitalmars.com...After having done the experiment, do you feel it's a promising approach? Are there things you figure would be better done differently?Bummer, no commits in the last 3 months or so.It was never a serious project unfortunately, just an experiment.
Apr 28 2012
"Nick Sabalausky" <SeeWebsiteToContactMe semitwist.com> wrote in message news:jnimdk$1t1t$1 digitalmars.com...I actually found it a lot easier than expected. Most of the constructs that survive to the glue layer are c constructs, which naturally map very well to c code. Writing the actual code is quite straightforward, it's very similar to what is done in 'toCBuffer' for di generation. I never hit a roadblock, so it should be easy for someone else to continue on from there (as Adam has). That said, reconfiguring gdc or ldc to output c (or to target the intended platform) is probably a better idea than writing a new c backend. Either way, druntime needs to be ported.It was never a serious project unfortunately, just an experiment.After having done the experiment, do you feel it's a promising approach? Are there things you figure would be better done differently?
Apr 28 2012
On Saturday, 28 April 2012 at 23:40:39 UTC, Chad J wrote:I've googled for it a bit and searched over newsgroup messages but I can't find the post that mentioned this. I think it might have been amidst the discussion of the javascript backend. I want to download it and try it out.http://www.dsource.org/projects/tdc
Apr 28 2012
On 04/29/2012 01:02 AM, bls wrote:On Saturday, 28 April 2012 at 23:40:39 UTC, Chad J wrote:Interesting! I'd forgotten about that (or possibly not heard of it?). 5 years old though. *sigh*, I wish stuff like this had taken off much earlier.I've googled for it a bit and searched over newsgroup messages but I can't find the post that mentioned this. I think it might have been amidst the discussion of the javascript backend. I want to download it and try it out.http://www.dsource.org/projects/tdc
Apr 28 2012