core.stdcpp
via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sat Aug 30 02:07:38 PDT 2014
On Saturday, 30 August 2014 at 08:39:12 UTC, eles wrote:
> On Saturday, 30 August 2014 at 00:01:50 UTC, Mike wrote:
>> On Friday, 29 August 2014 at 16:54:18 UTC, Sean Kelly wrote:
>>> On Wednesday, 27 August 2014 at 09:43:03 UTC, Mike wrote:
>>>> On Wednesday, 27 August 2014 at 06:50:19 UTC, Walter Bright
>>>> wrote:
>
>> I'm judging by both the responses in this thread and the lack
>> of responses in this thread that there isn't support, so I'm
>> fine to go my own way with my ideas if that's what's preferred.
>
> Actuall, I am very much in favor of this, but I admit we are a
> bit in minority. I fel it is not because people ara gainst it,
> but because they feel is not very important.
For the record: This describes my stance, too. I acknowledge that
it would be cleaner to separate the C bindings in a dedicated
package outside of druntime (though druntime could then import
this library instead of keeping its own copy of some bindings
around). This package could then contain bindings to higher-level
libraries, too. I just don't see it as a pressing issue, nor are
there obvious disadvantages to the current situation, from what I
can tell.
> Plus, they have the impression that this will involve renaming
> modules and will need modifying curent source code.
>
> It is not about that. Names could remain just as they are, it
> is only about isolating that part of druntime that is really
> critical to run the language. As you defined very well, that
> part that corresponds to java.lang.
>
> There is one thing that bothers me, still, and I did not find
> the appropriate solution to it: if the language defines threads
> and garbage collector, I agree the mechanism for those should
> go in the runtime, but what to do with the function required to
> handle those? For example, creating a thread is done with a
> function (not with a keyword!) and the same goes for the
> GC.disable(), for example.
>
> So, this will kinda break the "runtime means no imports"
> mantra. Or, otherwise, how to do it? C++ fully accepted its
> dependency on stdlib when they wen with Threads, isn't?
I don't agree with this mantra, however. It makes sense for
internally used functions like _d_throw, but it is fully
acceptable IMO to treat some modules under core.* as part of the
language that have to be imported when required.
>
> I find it uneasy that one accesses the runtime through
> "import". Why we should need that? In C you never
> import/include something for the runtime, nor you have control
> over it from inside the program. It is through compiler params.
There are some very low-level things for which you have to
include header files. varargs for one, setjmp/longjmp, exit()...
I would argue that these are parts of the language that happen to
be implemented in the standard library (I don't know how exactly
the specification treats them, however).
More information about the Digitalmars-d-announce
mailing list