Thread overview
[D-runtime] intrinsics
Jun 20, 2010
Brad Roberts
Jun 21, 2010
Sean Kelly
Jun 22, 2010
Brad Roberts
Jun 24, 2010
Sean Kelly
Jun 24, 2010
Sean Kelly
June 20, 2010
Philosophical question:  Should all intrinsics be exposed via druntime?

My opinion: absolutely.

The one I ran across just now:
  std/math.d:@safe pure nothrow long rndtol(real x);    /* intrinsic */

June 21, 2010
On Jun 20, 2010, at 1:47 PM, Brad Roberts wrote:

> Philosophical question:  Should all intrinsics be exposed via druntime?
> 
> My opinion: absolutely.
> 
> The one I ran across just now:
>  std/math.d:@safe pure nothrow long rndtol(real x);    /* intrinsic */

The ones in std.intrinsic (core.bitop) definitely.  For others... I dunno.  Should we really have a core.math module?

This reminds me that I need to submit a patch so the compiler will handle the functions in core.bitop correctly without it having to publicly import std.intrinsic.
June 21, 2010
On 6/21/2010 1:32 PM, Sean Kelly wrote:
> On Jun 20, 2010, at 1:47 PM, Brad Roberts wrote:
> 
>> Philosophical question:  Should all intrinsics be exposed via druntime?
>>
>> My opinion: absolutely.
>>
>> The one I ran across just now:
>>  std/math.d:@safe pure nothrow long rndtol(real x);    /* intrinsic */
> 
> The ones in std.intrinsic (core.bitop) definitely.  For others... I dunno.  Should we really have a core.math module?
> 
> This reminds me that I need to submit a patch so the compiler will handle the functions in core.bitop correctly without it having to publicly import std.intrinsic.

IMHO, druntime should contain everything that the compiler expects to exist. All of phobos should be optional (and by that I mean std.*).  There's obviously slightly more in druntime than the absolute minimum the compiler expects, and that's ok.

My 2 cents,
Brad
June 24, 2010
On Jun 21, 2010, at 11:09 PM, Brad Roberts wrote:

> On 6/21/2010 1:32 PM, Sean Kelly wrote:
>> On Jun 20, 2010, at 1:47 PM, Brad Roberts wrote:
>> 
>>> Philosophical question:  Should all intrinsics be exposed via druntime?
>>> 
>>> My opinion: absolutely.
>>> 
>>> The one I ran across just now:
>>> std/math.d:@safe pure nothrow long rndtol(real x);    /* intrinsic */
>> 
>> The ones in std.intrinsic (core.bitop) definitely.  For others... I dunno.  Should we really have a core.math module?
>> 
>> This reminds me that I need to submit a patch so the compiler will handle the functions in core.bitop correctly without it having to publicly import std.intrinsic.
> 
> IMHO, druntime should contain everything that the compiler expects to exist. All of phobos should be optional (and by that I mean std.*).  There's obviously slightly more in druntime than the absolute minimum the compiler expects, and that's ok.

(looping in Don since I'm not sure he's on the list)

Don, I vaguely recall you saying that there should be math routines in druntime.  What do you think about this?
June 24, 2010
On Jun 21, 2010, at 1:32 PM, Sean Kelly wrote:

> On Jun 20, 2010, at 1:47 PM, Brad Roberts wrote:
> 
>> Philosophical question:  Should all intrinsics be exposed via druntime?
>> 
>> My opinion: absolutely.
>> 
>> The one I ran across just now:
>> std/math.d:@safe pure nothrow long rndtol(real x);    /* intrinsic */
> 
> The ones in std.intrinsic (core.bitop) definitely.

http://d.puremagic.com/issues/show_bug.cgi?id=4360

Patch included.