Some grammar improvements
Process as many blocks as possible everywhere.
…hange If an empty bytestring is use to call update, it could trigger the processing of the buf, that could be holding the data for finalize (the last block). That would give bad calculations.
Don't process the partial buffer if we can fill it completely, if we don't know if it's the last block or not. We let the buffer accumulate in the end, for either processing by finalize or further update. fix #21
Slightly more informative Haddocks
…r size. When the buffer is full, we need to process it before appending the padding. fix #18
compute the block on the contextinstead of the hash algorithm itself, as it's easier to automatically infer a context with hashInit. make the hmac API to not take a hash algorithm parameter, but infer the algorithm used by the a type. add a hmacAlg, that just like hashInitAlg take an explicit algorithm as parameter to infer the HMAC type. this function is better when type inference is not able to automatically deduce the phantom.