diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/data/format/binary.lux | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/stdlib/source/lux/data/format/binary.lux b/stdlib/source/lux/data/format/binary.lux index 67f36609e..b1f0d56cd 100644 --- a/stdlib/source/lux/data/format/binary.lux +++ b/stdlib/source/lux/data/format/binary.lux @@ -30,13 +30,16 @@ (|>> (n/* i64.bits-per-byte) i64.mask)) (type: #export Mutation + (-> [Offset Binary] [Offset Binary])) + +(type: #export Specification [Size (-> [Offset Binary] [Offset Binary])]) (def: #export no-op - Mutation + Specification [0 function.identity]) -(structure: #export monoid (Monoid Mutation) +(structure: #export monoid (Monoid Specification) (def: identity ..no-op) @@ -46,7 +49,7 @@ (|>> mutL mutR)])) (type: #export (Writer a) - (-> a Mutation)) + (-> a Specification)) (def: #export (run writer value) (All [a] (-> (Writer a) a Binary)) @@ -176,13 +179,13 @@ value (if (n/= original-count capped-count) value (|> value row.to-list (list.take capped-count) row.from-list)) - (^open "mutation@.") ..monoid + (^open "specification@.") ..monoid [size mutation] (|> value (row@map valueW) (:: row.fold fold (function (_ post pre) - (mutation@compose pre post)) - mutation@identity))] + (specification@compose pre post)) + specification@identity))] [(n/+ <size> size) (function (_ [offset binary]) (error.assume |