sext-0.1.2: tests/Main.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
import Data.Sext
mkPacket :: String -> Sext 32 String
mkPacket inp =
-- 5-character version signature
$(sext "PKT10") `append`
-- 25-character payload
payload `append`
-- 2-character payload checksum
checksum
where
payload = createLeft ' ' inp
checksum :: Sext 2 String
checksum = createLeft ' ' $
show $ Data.Sext.length payload `mod` 100
message :: Sext 64 String
message = mkPacket "Hello" `append` mkPacket "world"
main = print message