Jump to page: 1 2
Thread overview
Dpp on run.dlang.io
Aug 04, 2018
Laeeth Isharc
Aug 04, 2018
Mike Franklin
Aug 04, 2018
Basile B.
Aug 04, 2018
Joakim
Aug 04, 2018
Joakim
Aug 04, 2018
Dukc
Aug 06, 2018
Mike Franklin
Aug 06, 2018
Dukc
Aug 04, 2018
John Colvin
Aug 04, 2018
Seb
Aug 05, 2018
Laeeth Isharc
Aug 06, 2018
Nicholas Wilson
Aug 06, 2018
bachmeier
Aug 06, 2018
Laeeth Isharc
Aug 06, 2018
bachmeier
August 04, 2018
Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.

https://run.dlang.io/is/JlH3Th
August 04, 2018
On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote:
> Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.
>
> https://run.dlang.io/is/JlH3Th

Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please?
August 04, 2018
On Saturday, 4 August 2018 at 02:39:23 UTC, Mike Franklin wrote:
> Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please?

And drop completion call tips etc at the same time...
August 04, 2018
On Saturday, 4 August 2018 at 02:39:23 UTC, Mike Franklin wrote:
> On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote:
>> Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.
>>
>> https://run.dlang.io/is/JlH3Th
>
> Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please?

No, because dpp is new, not commonly used, and I think only works with DMD. It might make sense to split those bindings off into their own git repo, separate from the compiled parts of druntime though.
August 04, 2018
On Saturday, 4 August 2018 at 05:06:26 UTC, Joakim wrote:
> On Saturday, 4 August 2018 at 02:39:23 UTC, Mike Franklin wrote:
>> On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote:
>>> Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.
>>>
>>> https://run.dlang.io/is/JlH3Th
>>
>> Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please?
>
> No, because dpp is new, not commonly used, and I think only works with DMD.

Scratch that last part, works with LDC too:

https://travis-ci.org/atilaneves/dpp
August 04, 2018
On Saturday, 4 August 2018 at 02:39:23 UTC, Mike Franklin wrote:
>
> Cool! Can we now deprecate and eventually jettison C/C++ bindings from druntime, please?

Why? As I understand it, they do not increase your executable size unless used. Besides, the bindings include the @trusted and scope attributes C++ headers don't, and are quicker to compile.
August 04, 2018
On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote:
> Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.
>
> https://run.dlang.io/is/JlH3Th

Very cool.

It seems like it's on by default with no option to turn it off. Is that a good idea?

Also, it appears to have broken for me in the last couple of minutes. It worked initially, then I clicked the link again and ran it, got:

Error: Could not execute `dmd onlineapp.d -ofonlineapp`:
onlineapp.d(49): Error: no identifier for declarator `typedef`
onlineapp.d(49): Error: semicolon expected, not `int`
onlineapp.d(53): Error: semicolon expected, not `char`
onlineapp.d(54): Error: semicolon expected, not `short`
onlineapp.d(54): Error: no identifier for declarator `short`
onlineapp.d(55): Error: semicolon expected, not `int`
onlineapp.d(56): Error: semicolon expected, not `long`
onlineapp.d(56): Error: no identifier for declarator `long`
onlineapp.d(59): Error: semicolon expected, not `char`
onlineapp.d(60): Error: semicolon expected, not `char`
onlineapp.d(61): Error: semicolon expected, not `short`
onlineapp.d(61): Error: no identifier for declarator `short`
onlineapp.d(62): Error: semicolon expected, not `short`
onlineapp.d(62): Error: no identifier for declarator `short`
onlineapp.d(63): Error: semicolon expected, not `int`
onlineapp.d(64): Error: semicolon expected, not `int`
onlineapp.d(66): Error: semicolon expected, not `long`
onlineapp.d(66): Error: no identifier for declarator `long`
onlineapp.d(67): Error: semicolon expected, not `long`
onlineapp.d(67): Error: no identifier for declarator `long`

Program exited with code 1
August 04, 2018
On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote:
> Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.
>
> https://run.dlang.io/is/JlH3Th

It now also supports multiple files (and compiling C files) with the Har format [1]:

https://run.dlang.io/is/WwpvhT

This should hopefully make it even more useful.

[1] https://github.com/marler8997/har

August 05, 2018
On Saturday, 4 August 2018 at 13:15:24 UTC, Seb wrote:
> On Saturday, 4 August 2018 at 01:27:49 UTC, Laeeth Isharc wrote:
>> Thanks to Seb and Atila it is now very easy to show  a D program just #includeing C headers.  If just works.  Modulo bugs.  In time I am hopeful Atila will start to have more of C++ headers working too.
>>
>> https://run.dlang.io/is/JlH3Th
>
> It now also supports multiple files (and compiling C files) with the Har format [1]:
>
> https://run.dlang.io/is/WwpvhT
>
> This should hopefully make it even more useful.
>
> [1] https://github.com/marler8997/har

Thanks v much for this.

One benefit of D is as a better glue language that integrates well with other languages and ecosystems.  Many people who know a bit about D have no idea that interop can work so easily or well.

So it might be worth mentioning this benefit as one link from main page and then linking from that to new page that mentions and has runnable examples (using HAR) for:

Python (via autowrap:python and pyd)
C (via dpp)
C++ (extern(C++) for now)
R (via embedr)
Julia (via C interface, including julia.h via dpp)
Lua (if LuaD stable enough)

with just screenshot for:
Excel (via autowrap excel / excel-d)
C# via Binderoo
Jupyter via pydmagic

and just link for web assembly.
Obviously a lot of work, but if you think a good idea we could work away at over time.




August 06, 2018
On Sunday, 5 August 2018 at 22:43:42 UTC, Laeeth Isharc wrote:
> One benefit of D is as a better glue language that integrates well with other languages and ecosystems.  Many people who know a bit about D have no idea that interop can work so easily or well.
>
> So it might be worth mentioning this benefit as one link from main page and then linking from that to new page that mentions and has runnable examples (using HAR) for:
>
> Python (via autowrap:python and pyd)
> C (via dpp)
> C++ (extern(C++) for now)
> R (via embedr)
> Julia (via C interface, including julia.h via dpp)
> Lua (if LuaD stable enough)
>
> with just screenshot for:
> Excel (via autowrap excel / excel-d)
> C# via Binderoo
> Jupyter via pydmagic
>
> and just link for web assembly.
> Obviously a lot of work, but if you think a good idea we could work away at over time.

"Here's something I prepared earlier."

https://github.com/thewilsonator/interop

This is currently to house [1] to try to show Walter why https://github.com/dlang/dmd/pull/8120 is a good idea. Unfortunately he remains unconvinced so I think I'm going to have to do it as a DIP [3].

[1]: https://github.com/thewilsonator/interop/blob/master/c%2B%2B/dslice.h
[2]: https://github.com/dlang/dmd/pull/8120
[3]: https://github.com/thewilsonator/DIPs/blob/extern(C++)-array/DIPs/DIP1xxx.md

« First   ‹ Prev
1 2