argon-0.3.2.0: test/data/cpp-psyn.hs
{-# LANGUAGE CPP #-}
#ifndef HLINT
{-# LANGUAGE ViewPatterns #-}
#endif
{-# LANGUAGE PatternSynonyms #-}
data Counted a = Counted Int [a] deriving (Eq, Ord, Read, Show)
pattern (:+) :: () => () => a -> Counted a -> Counted a
pattern a :+ as <- Counted (subtract 1 -> i) (a : (Counted i -> as)) where
a :+ Counted i as = Counted (i+1) (a:as)