[Haskell-cafe] ANNOUNCE: hs-cryptohash 0.4

Brandon S Allbery KF8NH allbery at ece.cmu.edu
Fri Jul 2 21:13:11 EDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 7/2/10 20:51 , John Meacham wrote:
> On Fri, Jul 02, 2010 at 08:48:07PM -0400, Brandon S Allbery KF8NH wrote:
>> On 7/2/10 17:24 , Gregory Crosswhite wrote:
>>> The problem with this approach is that the hash context isn't a monoid;  you
>>> can absorb data into the context, but you can't combine two hash contexts to
>>> form a new one.  Thus, the Writer monad won't work for this purpose.
>>
>> No?  The context is simply a String, which is a monoid, and you can combine
>> contexts quite meaningfully before you actually compute the final hash (in
>> fact, that's the whole point!).
> 
> The context isn't a string. it is an intermediate state in the algorithm
> of the hash function. it is usually an opaque binary blob (represented by a
> ByteString) of a size that is on the order of the final hash (unrelated
> to the size of the input).

If you read the example code I posted, the point was how to turn the current
monolithic hash function into a cumulative one by using Writer.  As such,
there's no opaque hash state inside the Writer.  (see `hash . runWriter').

- -- 
brandon s. allbery     [linux,solaris,freebsd,perl]      allbery at kf8nh.com
system administrator  [openafs,heimdal,too many hats]  allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university      KF8NH
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkwujqcACgkQIn7hlCsL25W6UQCfXrwrxclyns5s6TODstkO4z0a
1DwAoLLHJpZ36iEGiydkFy+0GTQWFbFI
=bTrg
-----END PGP SIGNATURE-----


More information about the Haskell-Cafe mailing list