From a9ee47b61558efe09aee23f5671aabd0c3747e8a Mon Sep 17 00:00:00 2001 From: Joe Zhao Date: Tue, 17 Mar 2015 11:05:29 +0800 Subject: p -> h --- h11.hs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 h11.hs (limited to 'h11.hs') diff --git a/h11.hs b/h11.hs new file mode 100644 index 0000000..77b7295 --- /dev/null +++ b/h11.hs @@ -0,0 +1,15 @@ +import Control.Arrow +import Data.List + +data ListItem a = Single a | Multiple a Int + deriving (Show) + +encode :: Eq a => [a] -> [(a,Int)] +encode xs = map (head &&& length) $ group xs + +encodeModified :: Eq a => [a] -> [ListItem a] +encodeModified = map helper . encode + where + helper (a,1) = Single a + helper (a,c) = Multiple a c + -- cgit v1.2.3-70-g09d2