day16: make decoder more readable

This commit is contained in:
Quinten Kock 2021-12-16 08:56:03 +01:00
parent 6b8ddc0f16
commit ba470a933d
1 changed files with 1 additions and 0 deletions

View File

@ -42,6 +42,7 @@ decode p = decode' typeID $ drop 6 p where
decodeLit [] = error "trying to decode an empty list"
decodeLit (False:ps) = splitAt 4 ps
decodeLit (True:ps) = let (next,rem) = decodeLit (drop 4 ps) in (take 4 ps ++ next, rem)
decode' :: Int -> [Bool] -> (DecodedPacket, [Bool])
decode' 4 p = let (num, rem) = decodeLit p in (Lit version typeID (binToDec num), rem)
decode' x [] = error "unexpected end-of-packet"