digitalmars.D - -betterC is amazing, make (/keep making) it more sophisticated!
- Aedt (20/20) Mar 21 2018 I've been playing with D for a while. I usually
- Seb (12/32) Mar 21 2018 I heard that Walter recently ported his DMC++ to D and I heard
- jmh530 (3/6) Mar 21 2018 You might check out Atila's github page (I don't think it's ready
- Seb (3/11) Mar 21 2018 For reference, I think jmh530 was referring to this:
- Atila Neves (13/25) Mar 22 2018 That's the one. It's nearly ready to announce (although even by
- Aedt (3/21) Mar 22 2018 Just out of sheer curiosity, will I be able to #include
- Atila Neves (4/28) Mar 22 2018 I'll have failed if you're not able to. If it doesn't work, it's
- Seb (4/32) Mar 22 2018 I'm not sure whether you are aware, but D pthread "header" are
- Walter Bright (5/6) Mar 21 2018 Yes, indeed: https://github.com/DigitalMars/Compiler
- Jacob Carlborg (6/12) Mar 22 2018 Quite old now and a proof of concept, DStep embedded into the
- Radu (8/40) Mar 22 2018 Would be nice to have a facility to generate C headers from a
- John Belmonte (5/6) Mar 22 2018 I noticed that core.stdc.math is missing M_PI and similar
I've been playing with D for a while. I usually write/maintain/contribute to C and C++ applications for *nix. D is low key amazing, it has - C standard library in the standard - continually improving betterC idioms - built in version blocks, unit test and debug blocks - painless doc gen - modules and painless dependency handling - linter, formatting tool and suggestion tool independent of editors Now if D manages all of the following it's going to be even better: - complete porting the C99 compliant C compiler fornt end to the D compiler so you can seamlessly just import C headers (like C++) - Improve shared library support Don't know about other C programmers but if D grants me to write C with modules, doc gen and dep handling, I can switch any day! But I need to be able to use tons of C libraries without having to writing wrappers for them. Thank you.
Mar 21 2018
On Wednesday, 21 March 2018 at 22:33:37 UTC, Aedt wrote:I've been playing with D for a while. I usually write/maintain/contribute to C and C++ applications for *nix. D is low key amazing, it has - C standard library in the standard - continually improving betterC idioms - built in version blocks, unit test and debug blocks - painless doc gen - modules and painless dependency handling - linter, formatting tool and suggestion tool independent of editorsThanks a lot for these kind words!Now if D manages all of the following it's going to be even better: - complete porting the C99 compliant C compiler fornt end to the D compiler so you can seamlessly just import C headers (like C++)I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)- Improve shared library supportWhat do you miss / are referring to?Don't know about other C programmers but if D grants me to write C with modules, doc gen and dep handling, I can switch any day! But I need to be able to use tons of C libraries without having to writing wrappers for them.Not sure whether you are aware of these two projects? https://github.com/jacob-carlborg/dstep (converts C headers to D headers auto-magically) https://github.com/Syniurge/Calypso (LDC fork which allows direct interfacing with C/C++ code) For my use cases dstep works nicely.
Mar 21 2018
On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)You might check out Atila's github page (I don't think it's ready for release yet).
Mar 21 2018
On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:For reference, I think jmh530 was referring to this: https://github.com/atilaneves/includeI heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)You might check out Atila's github page (I don't think it's ready for release yet).
Mar 21 2018
On Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code): #include "nanomsg/nn.h" #include "nanomsg/pubsub.h" void main() { const sock = nn_socket (AF_SP, NN_PUB); scope(exit) nn_close(sock); } As for the how/what/why/WTF/etc, stay tuned. AtilaOn Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:For reference, I think jmh530 was referring to this: https://github.com/atilaneves/includeI heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)You might check out Atila's github page (I don't think it's ready for release yet).
Mar 22 2018
On Thursday, 22 March 2018 at 10:45:50 UTC, Atila Neves wrote:On Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:Just out of sheer curiosity, will I be able to #include <pthread.h> or <gtk.h>?On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code): #include "nanomsg/nn.h" #include "nanomsg/pubsub.h" void main() { const sock = nn_socket (AF_SP, NN_PUB); scope(exit) nn_close(sock); } As for the how/what/why/WTF/etc, stay tuned. Atila[...]For reference, I think jmh530 was referring to this: https://github.com/atilaneves/include
Mar 22 2018
On Thursday, 22 March 2018 at 12:10:34 UTC, Aedt wrote:On Thursday, 22 March 2018 at 10:45:50 UTC, Atila Neves wrote:I'll have failed if you're not able to. If it doesn't work, it's a bug. AtilaOn Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:Just out of sheer curiosity, will I be able to #include <pthread.h> or <gtk.h>?[...]That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code): #include "nanomsg/nn.h" #include "nanomsg/pubsub.h" void main() { const sock = nn_socket (AF_SP, NN_PUB); scope(exit) nn_close(sock); } As for the how/what/why/WTF/etc, stay tuned. Atila
Mar 22 2018
On Thursday, 22 March 2018 at 12:10:34 UTC, Aedt wrote:On Thursday, 22 March 2018 at 10:45:50 UTC, Atila Neves wrote:I'm not sure whether you are aware, but D pthread "header" are shipped with DRuntime as core.sys.posix.pthread: https://github.com/dlang/druntime/blob/master/src/core/sys/posix/pthread.dOn Thursday, 22 March 2018 at 00:24:34 UTC, Seb wrote:Just out of sheer curiosity, will I be able to #include <pthread.h> or <gtk.h>?On Wednesday, 21 March 2018 at 23:46:19 UTC, jmh530 wrote:That's the one. It's nearly ready to announce (although even by then there will be a loooot of work to do afterwards). Sneak peek, this works right now (yes, what's shown is, except for the #include directives, D code): #include "nanomsg/nn.h" #include "nanomsg/pubsub.h" void main() { const sock = nn_socket (AF_SP, NN_PUB); scope(exit) nn_close(sock); } As for the how/what/why/WTF/etc, stay tuned. Atila[...]For reference, I think jmh530 was referring to this: https://github.com/atilaneves/include
Mar 22 2018
On 3/21/2018 3:48 PM, Seb wrote:I heard that Walter recently ported his DMC++ to DYes, indeed: https://github.com/DigitalMars/Compiler I want to convert the back end to D, too, but am blocked by https://github.com/dlang/dmd/pull/7714 Seb, can you help with that?
Mar 21 2018
On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:Not sure whether you are aware of these two projects? https://github.com/jacob-carlborg/dstep (converts C headers to D headers auto-magically) https://github.com/Syniurge/Calypso (LDC fork which allows direct interfacing with C/C++ code) For my use cases dstep works nicely.Quite old now and a proof of concept, DStep embedded into the compiler: https://github.com/jacob-carlborg/dmd/commit/2837d340c065cc2bf3f0a83cb96c4d9f22fb3a30 -- /Jacob Carlborg
Mar 22 2018
On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:On Wednesday, 21 March 2018 at 22:33:37 UTC, Aedt wrote:Would be nice to have a facility to generate C headers from a module, ala' `-H` but instead of generating D .di to generate C compilable .h files. I find it tedious to manually generate those, so for some projects I use some template magic and pragma(msg, ...) to generate a bunch of defines/declarations, but having it build in into the compiler would make it even better!I've been playing with D for a while. I usually write/maintain/contribute to C and C++ applications for *nix. D is low key amazing, it has - C standard library in the standard - continually improving betterC idioms - built in version blocks, unit test and debug blocks - painless doc gen - modules and painless dependency handling - linter, formatting tool and suggestion tool independent of editorsThanks a lot for these kind words!Now if D manages all of the following it's going to be even better: - complete porting the C99 compliant C compiler fornt end to the D compiler so you can seamlessly just import C headers (like C++)I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)- Improve shared library supportWhat do you miss / are referring to?Don't know about other C programmers but if D grants me to write C with modules, doc gen and dep handling, I can switch any day! But I need to be able to use tons of C libraries without having to writing wrappers for them.Not sure whether you are aware of these two projects? https://github.com/jacob-carlborg/dstep (converts C headers to D headers auto-magically) https://github.com/Syniurge/Calypso (LDC fork which allows direct interfacing with C/C++ code) For my use cases dstep works nicely.
Mar 22 2018
On Thursday, 22 March 2018 at 15:42:54 UTC, Radu wrote:On Wednesday, 21 March 2018 at 22:48:36 UTC, Seb wrote:FYI: There were a few efforts to attempt this, e.g. https://github.com/dlang/dmd/pull/5082 https://github.com/dlang/tools/pull/39 https://issues.dlang.org/show_bug.cgi?id=9285 In short: it's a bit complicated and no one has managed to get it to the finish line so far. However, with DMD's new DUB package this might be possible to do without needing to be added to dlang/dmd and can start to grow as a separate project.On Wednesday, 21 March 2018 at 22:33:37 UTC, Aedt wrote:Would be nice to have a facility to generate C headers from a module, ala' `-H` but instead of generating D .di to generate C compilable .h files. I find it tedious to manually generate those, so for some projects I use some template magic and pragma(msg, ...) to generate a bunch of defines/declarations, but having it build in into the compiler would make it even better![...]Thanks a lot for these kind words![...]I heard that Walter recently ported his DMC++ to D and I heard that someone was working on this, so chances aren't too bad that this might happen ;-)[...]What do you miss / are referring to?[...]Not sure whether you are aware of these two projects? https://github.com/jacob-carlborg/dstep (converts C headers to D headers auto-magically) https://github.com/Syniurge/Calypso (LDC fork which allows direct interfacing with C/C++ code) For my use cases dstep works nicely.
Mar 22 2018
On Thursday, 22 March 2018 at 16:03:14 UTC, Seb wrote:On Thursday, 22 March 2018 at 15:42:54 UTC, Radu wrote:OK, I guess it make sense to have it as an external tool that's based on the dmdlib. Thanks for the pointers.[...]FYI: There were a few efforts to attempt this, e.g. https://github.com/dlang/dmd/pull/5082 https://github.com/dlang/tools/pull/39 https://issues.dlang.org/show_bug.cgi?id=9285 In short: it's a bit complicated and no one has managed to get it to the finish line so far. However, with DMD's new DUB package this might be possible to do without needing to be added to dlang/dmd and can start to grow as a separate project.
Mar 23 2018
On Wednesday, 21 March 2018 at 22:33:37 UTC, Aedt wrote:- C standard library in the standardI noticed that core.stdc.math is missing M_PI and similar constants. Before -betterC I imagine it was considered sufficient that the constants are in phobos. Would anyone else like to see these added?
Mar 22 2018