(local fbyte (require :fbyte)) (local data "\218\218\218\012\000Hello World\n") (local parse (fbyte.decode :b1 :br :short :raw :long :raw-1)) (fn read-header [data] (local [[flag rest short raw long message] _remainder] [(parse data)]) {: flag : rest : short : raw : long : message}) (read-header data) ;; {:flag 0 :long 11 :message "Hello World\n" :raw "\218" :rest 109 :short 218}