What is the cleanest way to parse binary data in clojure? I need to be able to read/write equally cleanly to a file or a socket.
something like:
(read-data source-of-data) => { :index 42 , :block-size 4 , data-size: 31415, :data (1 2 3 4 ...)}
and the reverse for putting data back. It would be really great to somehow define the structure once and have the read and write functions use the same definition.