Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
April 04, 2017 Interfacing D with C and Fortran | ||||
---|---|---|---|---|
| ||||
Hi All, @9il and I have written a D blog article titled "Interfacing D with C and Fortran" which is located here: https://github.com/dataPulverizer/interface-d-c-fortran. We would greatly appreciate feedback from the D community before we publish it. Many thanks in advance. DP |
April 04, 2017 Re: Interfacing D with C and Fortran | ||||
---|---|---|---|---|
| ||||
Posted in reply to data pulverizer | On Tuesday, 4 April 2017 at 13:25:27 UTC, data pulverizer wrote:
> Hi All,
>
> @9il and I have written a D blog article titled "Interfacing D with C and Fortran" which is located here: https://github.com/dataPulverizer/interface-d-c-fortran. We would greatly appreciate feedback from the D community before we publish it.
>
> Many thanks in advance.
>
> DP
I liked it. Here are my thoughts:
In some cases, there were bits that I don't follow as well like where you have
$ nm example1.o
and its results
You might want to highlight that betterC is not well documented and provide a few more details on what it means, what are the limitations, etc.
You wrote an apply function. Is phobos' map not compatible with betterC? Maybe mention that mir has a map function in ndslice algorithm that could be a betterC alternative.
You also discuss template alias parameters when talking about apply. Template aliases seem a bit like magic to me. Sure, I've used them, but still seem like magic. And I don't think the D docs do a great job explaining it. Maybe give a short explanation in addition to what is there (perhaps as a footnote?).
|
April 04, 2017 Re: Interfacing D with C and Fortran | ||||
---|---|---|---|---|
| ||||
Posted in reply to jmh530 | Thanks for the constructive feedback! Glad you liked the article. On Tuesday, 4 April 2017 at 15:40:49 UTC, jmh530 wrote: > > I liked it. Here are my thoughts: > > In some cases, there were bits that I don't follow as well like where you have > $ nm example1.o > and its results You're right some more explanation here would be useful > You might want to highlight that betterC is not well documented and provide a few more details on what it means, what are the limitations, etc. True, there isn't a lot of material around about this flag and I'd appreciate some more details from those "in the know", @9il knows more about this than I do. > You wrote an apply function. Is phobos' map not compatible with betterC? Maybe mention that mir has a map function in ndslice algorithm that could be a betterC alternative. @9il and I agreed that we would keep this article dependency free but we can include links to those alternatives. > You also discuss template alias parameters when talking about apply. Template aliases seem a bit like magic to me. Sure, I've used them, but still seem like magic. And I don't think the D docs do a great job explaining it. Maybe give a short explanation in addition to what is there (perhaps as a footnote?). Wow a footnote! This might look like a real article :-) That was a joke! We can add a short description with links. I think a detailed article can be written on template alias parameters alone. Thanks a lot for your feedback. It is much appreciated |
April 04, 2017 Re: Interfacing D with C and Fortran | ||||
---|---|---|---|---|
| ||||
Posted in reply to data pulverizer | On Tuesday, 4 April 2017 at 13:25:27 UTC, data pulverizer wrote:
> Hi All,
>
> @9il and I have written a D blog article titled "Interfacing D with C and Fortran" which is located here: https://github.com/dataPulverizer/interface-d-c-fortran. We would greatly appreciate feedback from the D community before we publish it.
>
> Many thanks in advance.
>
> DP
Unless I missed it, there is no mention of iso_c_binding for Fortran. That is worth at least a mention, because
- It is documented well and handles many of the underlying details.
- It creates a C interface that can then be called from D like a C function.
- The target audience of this article includes C programmers already calling into Fortran using iso_c_binding. There's no reason for them to think they have to learn something new to switch to D.
I haven't used Fortran in some time, but when I did call it from C, iso_c_binding was very helpful.
|
April 04, 2017 Re: Interfacing D with C and Fortran | ||||
---|---|---|---|---|
| ||||
Posted in reply to bachmeier | On Tuesday, 4 April 2017 at 16:20:56 UTC, bachmeier wrote:
> Unless I missed it, there is no mention of iso_c_binding for Fortran. That is worth at least a mention, because
>
> - It is documented well and handles many of the underlying details.
> - It creates a C interface that can then be called from D like a C function.
> - The target audience of this article includes C programmers already calling into Fortran using iso_c_binding. There's no reason for them to think they have to learn something new to switch to D.
>
> I haven't used Fortran in some time, but when I did call it from C, iso_c_binding was very helpful.
Fair point. I was in two minds about mentioning this because Fortran programmers will already know about it but including it is probably the right thing.
|
Copyright © 1999-2021 by the D Language Foundation