July 31
On Saturday, 26 July 2025 at 17:43:56 UTC, Walter Bright wrote:

> [...] This is why Adam Wilson is working on Phobos2.

Sorry for hijacking this thread. Is there any feature list/preview
available besides [1]?

I would like to suggest the following improvements:

- Remove "hnsecs" [2]. Every time I read this I am under the
  impression that somebody is mocking the SI prefix system [3].
  My suggestions [4] and [5] are of 2019.

- Rename the function "deleteme". I cannot easily parse this.
  Shall I delete the occurrence of "deleteme" in the source code?
  Shall I delete a file named after the return value of the deleteme
  function? Has this file already been created? More questions than
  answers. The meaning of the tmpnam function [6] is as oppposed to
  deleteme glass-clear.

- Remove the function "browse" from std.process [7].

[1] https://wiki.dlang.org/Language_issues#std2
[2] https://dlang.org/library/core/time/hnsecs.html
[3] https://en.wikipedia.org/wiki/Metric_prefix
[4] https://forum.dlang.org/post/khppfxsyfefjksvrimkx@forum.dlang.org
[5] https://forum.dlang.org/post/ghkpbbuatvjemthqrkxb@forum.dlang.org
[6] https://man7.org/linux/man-pages/man3/tmpnam.3.html
[7] https://dlang.org/phobos/std_process.html#.browse
July 31
On Thursday, 31 July 2025 at 21:34:03 UTC, kdevel wrote:
> - Remove "hnsecs" [2]. Every time I read this I am under the
>   impression that somebody is mocking the SI prefix system [3].

It’s Win32’s unit of time.
July 31
On Thursday, 31 July 2025 at 21:34:03 UTC, kdevel wrote:
> Sorry for hijacking this thread. Is there any feature list/preview
> available besides [1]?

- <https://github.com/dlang/phobos/tree/master/phobos>
- <https://github.com/dlang/PhobosV3-Design>
August 01
On Thursday, 31 July 2025 at 23:57:49 UTC, 0xEAB wrote:
> On Thursday, 31 July 2025 at 21:34:03 UTC, kdevel wrote:
>> - Remove "hnsecs" [2]. Every time I read this I am under the
>>   impression that somebody is mocking the SI prefix system [3].
>
> It’s Win32’s unit of time.

Do you have any reference to MS documentation which defines "hnsecs"?

The granularity of time seems to be 100 ns which seems to be named
a "tick" [1]. I mean nobody would invent the "unit" "tKiBytes"
(tetra kibi-byte) when everybody calls it "pagesize" (on X86).

[1] https://learn.microsoft.com/en-us/dotnet/api/system.timespan.ticks?view=net-9.0#System_TimeSpan_Ticks
August 01

On Friday, 1 August 2025 at 10:12:12 UTC, kdevel wrote:

>

On Thursday, 31 July 2025 at 23:57:49 UTC, 0xEAB wrote:

>

On Thursday, 31 July 2025 at 21:34:03 UTC, kdevel wrote:

>
  • Remove "hnsecs" [2]. Every time I read this I am under the
    impression that somebody is mocking the SI prefix system [3].

It’s Win32’s unit of time.

Do you have any reference to MS documentation which defines "hnsecs"?

The granularity of time seems to be 100 ns which seems to be named
a "tick" [1]. I mean nobody would invent the "unit" "tKiBytes"
(tetra kibi-byte) when everybody calls it "pagesize" (on X86).

[1] https://learn.microsoft.com/en-us/dotnet/api/system.timespan.ticks?view=net-9.0#System_TimeSpan_Ticks

Well, “tetra” isn’t even an SI prefix, whereas hectonanosecond combines two SI prefixes, which isn’t allowed if you want to comply to SI rules, which we’re not bound to. In my personal opinion, hns is very much understandable.

Also, “tick” and “pagesize” in my brain sound like concepts relative to a platform (like size_t), whereas “tetrakibibyte” is an absolute measure of information and “hectonanosecond” is an absolute measure of time. A tick is in fact so murky that the C++20 STL requires clock types to have an is_steady member that returns true only if ticks have the same length.

I don’t know if D supports any platform in which ticks aren’t steady or are different from 100 ns. DMD probably not, but with GDC and LDC, I wouldn’t say no without investigating.

The C++ STL simply defines nanoseconds, and if you use a nanoseconds value that’s not a multiple of 100, that information might go unused. With 64 bits, you can only have so many values, and that is actually a problem: The amount of nanoseconds between the years 1 and 2026 is: 1E9 × 60 × 60 × 24 × 365.2425 × 2025, which is a number that requires 66 bits to store. With 64 bits, you only get from year 1 to around year 584. If you store an hns value, you can model 58,455 years, which is more than enough. Even if you take away one bit for sign and half the range for years before year 1, you still have 14,613 for each direction.

August 01
On Friday, 1 August 2025 at 10:12:12 UTC, kdevel wrote:
> On Thursday, 31 July 2025 at 23:57:49 UTC, 0xEAB wrote:
>> On Thursday, 31 July 2025 at 21:34:03 UTC, kdevel wrote:
>>> - Remove "hnsecs" [2]. Every time I read this I am under the
>>>   impression that somebody is mocking the SI prefix system [3].
>>
>> It’s Win32’s unit of time.
>
> Do you have any reference to MS documentation which defines "hnsecs"?

Sure, check out `FILETIME`:
<https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime>
August 02
On Friday, 1 August 2025 at 21:18:24 UTC, 0xEAB wrote:
>>> [...]
>>> It’s Win32’s unit of time.
>>
>> Do you have any reference to MS documentation which defines "hnsecs"?
>
> Sure, check out `FILETIME`:
> <https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime>

My browser cannot find any of the strings "hns" and "hecto" on that page.
(That tics are 100 ns long is not disputed).
August 03
On 03/08/2025 9:51 AM, kdevel wrote:
> On Friday, 1 August 2025 at 21:18:24 UTC, 0xEAB wrote:
>>>> [...]
>>>> It’s Win32’s unit of time.
>>>
>>> Do you have any reference to MS documentation which defines "hnsecs"?
>>
>> Sure, check out `FILETIME`:
>> <https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns- minwinbase-filetime>
> 
> My browser cannot find any of the strings "hns" and "hecto" on that page.
> (That tics are 100 ns long is not disputed).

You won't find the name for the unit there.

Hecto nano second is an entirely us creation for the name.

The unit in terms of being 100 ns is not an us creation, which is what that page shows.

I am not defending this decision, for my datetime library I went with nano seconds.
August 02

On Friday, 1 August 2025 at 17:26:30 UTC, Quirin Schroll wrote:

>

[...] With 64 bits, you can only have so many values, and that is actually a problem: The amount of nanoseconds between the years 1 and 2026 is: 1E9 × 60 × 60 × 24 × 365.2425 × 2025, which is a number that requires 66 bits to store. With 64 bits, you only get from year 1 to around year 584.

128 bits solve this problem:

       struct timespec {
           time_t tv_sec;        /* seconds */
           long   tv_nsec;       /* nanoseconds */
       };
6 days ago
On Saturday, 2 August 2025 at 21:51:24 UTC, kdevel wrote:
> On Friday, 1 August 2025 at 21:18:24 UTC, 0xEAB wrote:
>>>> [...]
>>>> It’s Win32’s unit of time.
>>>
>>> Do you have any reference to MS documentation which defines "hnsecs"?
>>
>> Sure, check out `FILETIME`:
>> <https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime>
>
> My browser cannot find any of the strings "hns" and "hecto" on that page.
> (That tics are 100 ns long is not disputed).

Looking at the quote “the number of 100-nanosecond intervals” — what else would the prefix “100-” mean if not “hecto”?