New hash API: Update

Alex Rønne Petersen alex at lycus.org
Mon Jun 25 06:09:28 PDT 2012


On 25-06-2012 11:13, Johannes Pfau wrote:
> Am Sun, 24 Jun 2012 17:58:47 -0700
> schrieb Jonathan M Davis <jmdavisProg at gmx.com>:
>
>> On Sunday, June 24, 2012 17:23:18 Johannes Pfau wrote:
>>> I'm mostly finished with my hash API proposal. I also ported the
>>> existing crc, md5 and the proposed sha1 hash to this new API.
>>>
>>> I changed the namespace to std.util.digest. Andrei once said he
>>> thinks std.digest/std.hash is a too narrow package and someone else
>>> said putting crc into std.crypto.digest is ridiculous. So I did
>>> what tango and other libraries do and created a std.util module.
>>>
>>> I think std.uuid would also fit well into std.util so it'd become
>>> std.util.uuid.
>>
>> No, no, no, no, no. util is _useless_ as a name. _Everything_ in
>> Phobos is a utiliity of one sort or another. Just leave it as
>> std.hash and std.uuid.
>
> OK, OK I'm convinced.
>
>
>>
>>> Here's the documentation:
>>> http://dl.dropbox.com/u/24218791/d/phobos/std_util_digest_digest.html
>>> http://dl.dropbox.com/u/24218791/d/phobos/std_util_digest_crc.html
>>> http://dl.dropbox.com/u/24218791/d/phobos/std_util_digest_md5.html
>>> http://dl.dropbox.com/u/24218791/d/phobos/std_util_digest_sha.html
>>>
>>> And here's a pull request for the code:
>>> https://github.com/D-Programming-Language/phobos/pull/646
>>>
>>> Github branch:
>>> https://github.com/jpf91/phobos/tree/newHash
>>
>> I'll have to look it over later, but this is enough of a change, that
>> I suspect that a proper review cycle is order rather than simply
>> making the tweaks and creating a pull request for it.
>
> Yeah probably. We really should disable the new std.crc32 then, though.

That, or make sure that your changes get into 2.060 (the changes aren't 
huge, so reviewing them shouldn't take /that/ long). But on the other 
hand, people seem to really want to get 2.060 out the door ASAP, so I 
don't really know...

In any case, just comment std.hash.crc32 in the makefiles and remove the 
deprecation label in the top-level crc32 module (yes, really, it's not 
even in std...).

>
>>
>>> The table and the one line of code is also available as public
>>> domain code here:
>>> http://www.csbruce.com/~csbruce/software/crc32.c
>>>
>>> So I think it should be possible to change the license to boost?
>>
>> As long as the only parts that are left of the original with the
>> non-Boost license are publicly available, I don't see any reason why
>> we couldn't put a Boost license on the version. Ideally, we would
>> have _no_ licenses other than Boost in Phobos. The only reason that
>> we do is due to old D1 code when Walter was doing most of it and the
>> contributor situation was very different.
>>
> Great, I'll change that then :-)
>
>

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org




More information about the Digitalmars-d mailing list