On Tuesday, 8 May 2012 at 17:24:24 UTC, foobar wrote:
On Tuesday, 8 May 2012 at 17:03:10 UTC, Lars T. Kyllingstad wrote:
On Tuesday, 8 May 2012 at 16:35:05 UTC, foobar wrote:
On Tuesday, 8 May 2012 at 14:59:43 UTC, Lars T. Kyllingstad wrote:
On Tuesday, 8 May 2012 at 14:48:27 UTC, foobar wrote:
[...], what if I find it useful to use e.g. FORTRAN code, should the relevant functions also be in the stdlib?

No, FORTRAN has absolutely nothing to do with D. C, on the other hand, does. Both druntime and Phobos depend heavily on the C stdlib. The GC uses malloc/free, std.stdio.File is a wrapper around FILE*, etc.

-Lars

Irrelevant. For all I care druntime could be implemented in Klingon. That doesn't mean its API needs to include Klingon as well. That's called "encapsulation".

Um... so you don't mind the C/POSIX declarations being there, you just want them to be private so you aren't tempted to use them in your own code?

-Lars

Yes, pretty much.
They are an implementation detail of druntime/phobos.

Other vendors may choose to implement the tool-chain with another language in mind and as long as the API remains the same I shouldn't need to care e.g. how the GC allocation is implemented (Perhaps it's done with FORTRAN's memory allocation routines).

If I ,the user, want to interface with C I need to use the "official" C headers in Deimos. This is after all the official location for that.

BTW, it makes sense even if druntime is implemented with C/POSIX - it decouples the user-facing headers from those used by the runtime. the runtime could depend on an older stable version than the one exposed to the users.

I assume druntime/phobos uses some windows APIs in their implementations. Now consider the new winRT API for windows. It should be a matter of updating the headers in a separate repository so that it would be exposed to end-users without waiting on a druntime update to utilize those APIs.

Reply via email to