LAWS.md_streaming: law of bend-osdev-hashes@0.1.0.0 Import: import bend-osdev-hashes@0.1.0.0/LAWS.bend as LAWS Lines 20-29 of bend-osdev-hashes@0.1.0.0/LAWS.bend: https://jend.leeeet.dev/read.txt?path=bend-osdev-hashes@0.1.0.0/LAWS.bend&start_line=20&end_line=29 import Base import bend-osdev-bytes@0.1.0.0/bytes.bend as B import bend-osdev-hashes@0.1.0.0/hashes.bend as Hs # The engine (hashes.bend), for every chaining value type, compression # function and block size: a ++ b is a, then b, from every state law md_streaming: for ~C: Data for ~compress: C -> List<&2, U32> -> C for ~last: U32 for s: Hs.HsMdState for +a: B.Octets for +b: B.Octets {Hs.HsMd.update(~C, ~compress, ~last, s, B.Octets.append(a, b)) == Hs.HsMd.update(~C, ~compress, ~last, Hs.HsMd.update(~C, ~compress, ~last, s, a), b) : Hs.HsMdState} Uses (12): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/LAWS.bend&name=octets_append_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.append https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=Octets.to_list https://jend.leeeet.dev/definition.txt?path=bend-osdev-bytes@0.1.1.0/bytes.bend&name=append https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/PROOF.bend&name=feed_append https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=HsMd.update https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=HsMdState https://jend.leeeet.dev/definition.txt?path=bend-osdev-hashes@0.1.0.0/hashes.bend&name=hs.md.feed