packages feed

pretty-show 1.5 → 1.6

raw patch · 7 files changed

+433/−281 lines, 7 files

Files

Text/Show/Html.hs view
@@ -36,6 +36,11 @@       Rec con fs  -> tallRecord con (map fst fs)    (map (loop . snd) fs)       Tuple vs    -> wideTuple                      (map loop vs) +      InfixCons v ms ->+        table "infix"+          [ tr $ map td $ loop v : [ h | (op,u) <- ms+                                       , h      <- [ text op, loop u ] ] ]+       List []     -> span "list" (text "[]")       List vs@(v : vs1) ->         case v of@@ -61,6 +66,7 @@           Float {}   -> wideList (wideListWidth opts) $ map loop vs           Char {}    -> wideList (wideListWidth opts) $ map loop vs           String {}  -> tallList                      $ map loop vs+          InfixCons {} -> tallList                    $ map loop vs        Neg v       ->         case v of
Text/Show/Parser.y view
@@ -19,6 +19,7 @@         ','             { (Special, (_,",")) }         '-'             { (Varsym,  (_,"-")) }         '%'             { (Varsym,  (_,"%")) }+        '`'             { (Special, (_,"`")) }          INT             { (IntLit,   (_,$$)) }         FLOAT           { (FloatLit, (_,$$)) }@@ -46,7 +47,11 @@   : value '%' app_value         { Ratio $1 $3 }   | '-' avalue                  { Neg $2 }   | app_value                   { $1 }+  | app_value list1(infixelem)  { InfixCons $1 $2 } +infixelem                    :: { (String,Value) }+  : infixcon app_value          { ($1,$2) }+ app_value                    :: { Value }   : con list1(avalue)           { Con $1 $2 }   | avalue                      { $1 }@@ -73,6 +78,12 @@   | prefix(VARSYM)              { $1 }   | prefix(QVARSYM)             { $1 } +infixcon                     :: { String }+  : CONSYM                      { $1 }+  | QCONSYM                     { $1 }+  | '`' CONID '`'               { backtick $2 }+  | '`' QCONID '`'              { backtick $2 }+ field                        :: { (Name,Value) }   : VARID '=' value             { ($1,$3) } @@ -80,7 +91,6 @@   :                             { [] }   | value ',' sep1(value,',')   { $1 : $3 } - -- Common Rule Patterns -------------------------------------------------------- prefix(p)       : '(' p ')'           { "(" ++ $2 ++ ")" } @@ -99,8 +109,10 @@   - {+backtick :: String -> String+backtick s = "`" ++ s ++ "`"+ happyError :: [PosToken] -> Maybe a happyError ((_,(p,_)) : _) = Nothing -- error ("Parser error at: " ++ show p) happyError []              = Nothing -- error ("Parser error at EOF")
Text/Show/Pretty.hs view
@@ -28,6 +28,9 @@     -- * Rendering values to Html   , valToHtml, HtmlOpts(..), defaultHtmlOpts, htmlPage, Html(..) +    -- * Get location of data files+  , getDataDir+     -- * Deprecated   , ppValue   ) where@@ -38,6 +41,7 @@ import Text.Show.PrettyVal import Text.Show.Html import Language.Haskell.Lexer(rmSpace,lexerPass0)+import Paths_pretty_show (getDataDir)  {-# DEPRECATED ppValue "Please use `valToDoc` instead." #-} ppValue :: Value -> Doc@@ -85,20 +89,28 @@ --   easier to understand by a human. valToDoc :: Value -> Doc valToDoc val = case val of-  Con c vs    -> ppCon c vs-  Rec c fs    -> hang (text c) 2 $ block '{' '}' (map ppField fs)-    where ppField (x,v) = text x <+> char '=' <+> valToDoc v+  Con c vs         -> ppCon c vs+  InfixCons v1 cvs -> hang_sep (go v1 cvs)+    where+      go v []            = [ppInfixAtom v]+      go v ((n,v2):cvs') = (ppInfixAtom v <+> text n):go v2 cvs' -  List vs     -> block '[' ']' (map valToDoc vs)-  Tuple vs    -> block '(' ')' (map valToDoc vs)-  Neg v       -> char '-' <> ppAtom v-  Ratio x y   -> ppCon "(%)" [x,y]-  Integer x   -> text x-  Float x     -> text x-  Char x      -> text x-  String x    -> text x+      hang_sep [] = empty+      hang_sep (x:xs) = hang x 2 (sep xs)+    -- hang (ppInfixAtom v1) 2 (sep [ text n <+> ppInfixAtom v | (n,v) <- cvs ])+  Rec c fs         -> hang (text c) 2 $ block '{' '}' (map ppField fs)+    where ppField (x,v) = hang (text x <+> char '=') 2 (valToDoc v) +  List vs          -> block '[' ']' (map valToDoc vs)+  Tuple vs         -> block '(' ')' (map valToDoc vs)+  Neg v            -> char '-' <> ppAtom v+  Ratio x y        -> hang (ppAtom x <+> text "%") 2 (ppAtom y)+  Integer x        -> text x+  Float x          -> text x+  Char x           -> text x+  String x         -> text x + -- Private ---------------------------------------------------------------------  ppAtom :: Value -> Doc@@ -106,26 +118,30 @@   | isAtom v  = valToDoc v   | otherwise = parens (valToDoc v) -ppCon :: Name -> [Value] -> Doc-ppCon c []        = text c-ppCon c (v : vs)  = hang line1 2 (foldl addParam doc1 vs)-  where (line1,doc1)-          | isAtom v   = (text c, valToDoc v)-          | otherwise  = (text c <+> char '(', valToDoc v <+> char ')')+ppInfixAtom :: Value -> Doc+ppInfixAtom v+  | isInfixAtom v = valToDoc v+  | otherwise     = parens (valToDoc v) -        addParam d p-          | isAtom p  = d $$ valToDoc p-          | otherwise = (d <+> char '(') $$ (valToDoc p <+> char ')')+ppCon :: Name -> [Value] -> Doc+ppCon c vs = hang (text c) 2 (sep (map ppAtom vs))  isAtom               :: Value -> Bool isAtom (Con _ (_:_))  = False+isAtom (InfixCons {}) = False isAtom (Ratio {})     = False isAtom (Neg {})       = False isAtom _              = True +-- Don't put parenthesis around constructors in infix chains+isInfixAtom          :: Value -> Bool+isInfixAtom (InfixCons {}) = False+isInfixAtom (Ratio {})     = False+isInfixAtom (Neg {})       = False+isInfixAtom _              = True+ block            :: Char -> Char -> [Doc] -> Doc block a b []      = char a <> char b-block a b (d:ds)  = char a <+> d-                 $$ vcat [ char ',' <+> x | x <- ds ]-                 $$ char b+block a b (d:ds)  = sep $+    (char a <+> d) : [ char ',' <+> x | x <- ds ] ++ [ char b ] 
Text/Show/Value.hs view
@@ -20,14 +20,22 @@ -- | Generic Haskell values. -- 'NaN' and 'Infinity' are represented as constructors. -- The 'String' in the literals is the text for the literals \"as is\".-data Value    = Con Name [Value]            -- ^ Data constructor-              | Rec Name [ (Name,Value) ]   -- ^ Record value-              | Tuple [Value]               -- ^ Tuple-              | List [Value]                -- ^ List-              | Neg Value                   -- ^ Negated value-              | Ratio Value Value           -- ^ Rational-              | Integer String              -- ^ Non-negative integer-              | Float String                -- ^ Non-negative floating num.-              | Char String                 -- ^ Character-              | String String               -- ^ String+--+-- A chain of infix constructors means that they appeared in the input string+-- without parentheses, i.e+--+-- @1 :+: 2 :*: 3@ is represented with @InfixCons 1 [(":+:",2),(":*:",3)]@, whereas+--+-- @1 :+: (2 :*: 3)@ is represented with @InfixCons 1 [(":+:",InfixCons 2 [(":*:",3)])]@.+data Value    = Con Name [Value]               -- ^ Data constructor+              | InfixCons Value [(Name,Value)] -- ^ Infix data constructor chain+              | Rec Name [ (Name,Value) ]      -- ^ Record value+              | Tuple [Value]                  -- ^ Tuple+              | List [Value]                   -- ^ List+              | Neg Value                      -- ^ Negated value+              | Ratio Value Value              -- ^ Rational+              | Integer String                 -- ^ Non-negative integer+              | Float String                   -- ^ Non-negative floating num.+              | Char String                    -- ^ Character+              | String String                  -- ^ String                 deriving (Eq,Show)
bin/ppsh.hs view
@@ -1,7 +1,6 @@ import Text.Show.Pretty import System.Environment import System.IO(hPutStrLn,stderr)-import Paths_pretty_show  main :: IO () main =
dist/build/Text/Show/Parser.hs view
@@ -11,180 +11,204 @@  -- parser produced by Happy Version 1.18.10 -newtype HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 = HappyAbsSyn HappyAny+newtype HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31 = HappyAbsSyn HappyAny #if __GLASGOW_HASKELL__ >= 607 type HappyAny = Happy_GHC_Exts.Any #else type HappyAny = forall a . a #endif-happyIn4 :: (Value) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn4 :: (Value) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn4 #-}-happyOut4 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (Value)+happyOut4 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (Value) happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut4 #-}-happyIn5 :: (Value) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn5 :: ((String,Value)) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn5 #-}-happyOut5 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (Value)+happyOut5 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> ((String,Value)) happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut5 #-}-happyIn6 :: (Value) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn6 :: (Value) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn6 #-}-happyOut6 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (Value)+happyOut6 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (Value) happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut6 #-}-happyIn7 :: (String) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn7 :: (Value) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn7 #-}-happyOut7 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (String)+happyOut7 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (Value) happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut7 #-}-happyIn8 :: ((Name,Value)) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn8 :: (String) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn8 #-}-happyOut8 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> ((Name,Value))+happyOut8 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (String) happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut8 #-}-happyIn9 :: ([Value]) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn9 :: (String) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn9 #-}-happyOut9 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> ([Value])+happyOut9 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (String) happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut9 #-}-happyIn10 :: t10 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn10 :: ((Name,Value)) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn10 #-}-happyOut10 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t10+happyOut10 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> ((Name,Value)) happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut10 #-}-happyIn11 :: t11 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn11 :: ([Value]) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn11 #-}-happyOut11 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t11+happyOut11 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> ([Value]) happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut11 #-}-happyIn12 :: t12 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn12 :: t12 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn12 #-}-happyOut12 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t12+happyOut12 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t12 happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut12 #-}-happyIn13 :: t13 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn13 :: t13 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn13 #-}-happyOut13 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t13+happyOut13 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t13 happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut13 #-}-happyIn14 :: t14 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn14 :: t14 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t14+happyOut14 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t14 happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut14 #-}-happyIn15 :: t15 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn15 :: t15 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t15+happyOut15 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t15 happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut15 #-}-happyIn16 :: t16 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn16 :: t16 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t16+happyOut16 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t16 happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut16 #-}-happyIn17 :: t17 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn17 :: t17 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t17+happyOut17 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t17 happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut17 #-}-happyIn18 :: t18 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn18 :: t18 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t18+happyOut18 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t18 happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut18 #-}-happyIn19 :: t19 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn19 :: t19 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t19+happyOut19 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t19 happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut19 #-}-happyIn20 :: t20 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn20 :: t20 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t20+happyOut20 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t20 happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut20 #-}-happyIn21 :: t21 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn21 :: t21 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t21+happyOut21 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t21 happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut21 #-}-happyIn22 :: t22 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn22 :: t22 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t22+happyOut22 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t22 happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut22 #-}-happyIn23 :: t23 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn23 :: t23 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t23+happyOut23 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t23 happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut23 #-}-happyIn24 :: t24 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn24 :: t24 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t24+happyOut24 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t24 happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut24 #-}-happyIn25 :: t25 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn25 :: t25 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t25+happyOut25 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t25 happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut25 #-}-happyIn26 :: t26 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn26 :: t26 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t26+happyOut26 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t26 happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut26 #-}-happyIn27 :: t27 -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn27 :: t27 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> t27+happyOut27 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t27 happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOut27 #-}-happyInTok :: (PosToken) -> (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27)+happyIn28 :: t28 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn28 #-}+happyOut28 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t28+happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut28 #-}+happyIn29 :: t29 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn29 #-}+happyOut29 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t29+happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut29 #-}+happyIn30 :: t30 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn30 #-}+happyOut30 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t30+happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut30 #-}+happyIn31 :: t31 -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31)+happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyIn31 #-}+happyOut31 :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> t31+happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x+{-# INLINE happyOut31 #-}+happyInTok :: (PosToken) -> (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) happyInTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27) -> (PosToken)+happyOutTok :: (HappyAbsSyn t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31) -> (PosToken) happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x {-# INLINE happyOutTok #-}   happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x36\x00\x36\x00\x4c\x00\x00\x00\x00\x00\x27\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x14\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x45\x00\x00\x00\x44\x00\x0f\x00\x32\x00\x00\x00\xd5\x00\x4a\x00\x49\x00\x3d\x00\x3b\x00\x3a\x00\x00\x00\x00\x00\x45\x00\x22\x00\x28\x00\x2a\x00\x00\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x14\x00\x00\x00\x20\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x17\x00\x00\x00\x00\x00\x12\x00\x00\x00"#+happyActOffsets = HappyA# "\x39\x00\x39\x00\x58\x00\x55\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x15\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x49\x00\x00\x00\x5d\x00\x28\x00\x45\x00\x00\x00\x73\x00\x59\x00\x51\x00\x50\x00\x4f\x00\x4e\x00\x00\x00\x00\x00\x49\x00\x40\x00\x00\x00\x49\x00\x00\x00\x55\x00\x1f\x00\x00\x00\x00\x00\x38\x00\x36\x00\x00\x00\x00\x00\x3c\x00\x3b\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x15\x00\x00\x00\x27\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00"#  happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\xaf\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x00\x5a\x00\xcb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x00\x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x72\x00\xf2\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\xff\xfe\xff\x00\x00\x00\x00\x00\x00\x00\x00"#+happyGotoOffsets = HappyA# "\xb7\x00\xb2\x00\x00\x00\x5a\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x00\x64\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x00\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x00\x1a\x00\x00\x00\xc3\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xff\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\xff\xfc\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#  happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\xfc\xff\xfa\xff\xf5\xff\xee\xff\xed\xff\xe9\xff\xea\xff\xe7\xff\xdd\xff\x00\x00\xf4\xff\xf3\xff\xf2\xff\xf1\xff\xec\xff\xeb\xff\xf0\xff\xef\xff\x00\x00\x00\x00\xfd\xff\xf5\xff\xda\xff\x00\x00\xde\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\xfb\xff\xe5\xff\xdf\xff\xd4\xff\x00\x00\xe0\xff\x00\x00\xd8\xff\xe3\xff\xe4\xff\xe2\xff\xe1\xff\xf7\xff\xf9\xff\x00\x00\xf8\xff\xdc\xff\xd0\xff\xdb\xff\xd3\xff\x00\x00\xfe\xff\xd6\xff\xcf\xff\xe6\xff\x00\x00\xf6\xff\xd7\xff\xce\xff\xd5\xff\xd1\xff\x00\x00\xd2\xff\xcd\xff\xe8\xff"#+happyDefActions = HappyA# "\x00\x00\x00\x00\x00\x00\xfc\xff\xf8\xff\xf3\xff\xec\xff\xeb\xff\xe7\xff\xe8\xff\xe1\xff\xd6\xff\x00\x00\xf2\xff\xf1\xff\xf0\xff\xef\xff\xea\xff\xe9\xff\xee\xff\xed\xff\x00\x00\x00\x00\xfd\xff\xf3\xff\xd3\xff\x00\x00\xd7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xff\xf9\xff\xdf\xff\xd8\xff\xd0\xff\x00\x00\xfb\xff\xde\xff\x00\x00\xe6\xff\xe5\xff\x00\x00\x00\x00\xcf\xff\xfa\xff\xcb\xff\x00\x00\xd9\xff\x00\x00\xd1\xff\xdc\xff\xdd\xff\xdb\xff\xda\xff\xf5\xff\xf7\xff\x00\x00\xf6\xff\xd5\xff\xc7\xff\xd4\xff\xca\xff\x00\x00\xfe\xff\xcd\xff\xc6\xff\xe0\xff\x00\x00\xf4\xff\xce\xff\xc5\xff\xcc\xff\xc8\xff\x00\x00\xe3\xff\xe4\xff\xc9\xff\xc4\xff\xe2\xff"#  happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x02\x00\x04\x00\x14\x00\x12\x00\x06\x00\x14\x00\x15\x00\x09\x00\x17\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x02\x00\x08\x00\x0a\x00\x0a\x00\x06\x00\x11\x00\x0a\x00\x09\x00\x08\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x17\x00\x0f\x00\x13\x00\x14\x00\x02\x00\x0a\x00\x04\x00\x08\x00\x06\x00\x01\x00\x05\x00\x08\x00\x0f\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x02\x00\x07\x00\x13\x00\x14\x00\x06\x00\x03\x00\x03\x00\x09\x00\x03\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x02\x00\x04\x00\x13\x00\x14\x00\x06\x00\x03\x00\x03\x00\xff\xff\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x0a\x00\xff\xff\x13\x00\x14\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x0c\x00\x0d\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x03\x00\x0d\x00\x04\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\xff\xff\x0b\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x10\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\x05\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0e\x00\xff\xff\x03\x00\x11\x00\xff\xff\x13\x00\xff\xff\x08\x00\x16\x00\x0a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#+happyCheck = HappyA# "\xff\xff\x02\x00\x06\x00\x18\x00\x16\x00\x06\x00\x18\x00\x19\x00\x09\x00\x1b\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x02\x00\x01\x00\x0a\x00\x0a\x00\x06\x00\x05\x00\x10\x00\x09\x00\x01\x00\x06\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x18\x00\x0e\x00\x14\x00\x15\x00\x02\x00\x08\x00\x04\x00\x14\x00\x06\x00\x08\x00\x0a\x00\x0a\x00\x14\x00\x15\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x02\x00\x08\x00\x14\x00\x15\x00\x06\x00\x05\x00\x0b\x00\x09\x00\x0b\x00\x08\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x02\x00\x07\x00\x14\x00\x15\x00\x06\x00\x10\x00\x03\x00\x03\x00\x03\x00\x03\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x01\x00\x03\x00\x14\x00\x15\x00\x05\x00\x0b\x00\x04\x00\x0a\x00\x09\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x16\x00\x17\x00\x13\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0f\x00\x10\x00\x00\x00\x03\x00\x02\x00\x03\x00\x04\x00\xff\xff\x08\x00\xff\xff\x0a\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x03\x00\x04\x00\x10\x00\xff\xff\xff\xff\x08\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\x00\x00\x12\x00\x02\x00\x03\x00\x04\x00\xff\xff\xff\xff\x07\x00\xff\xff\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x00\x00\xff\xff\x02\x00\x03\x00\x04\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x02\x00\x03\x00\x04\x00\xff\xff\x02\x00\x03\x00\x04\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x03\x00\x04\x00\xff\xff\xff\xff\x03\x00\x04\x00\xff\xff\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x11\x00\xff\xff\xff\xff\xff\xff\x15\x00\xff\xff\x17\x00\xff\xff\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#  happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x0b\x00\x43\x00\x44\x00\x3e\x00\x0c\x00\x3f\x00\x40\x00\x0d\x00\x41\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x20\x00\x14\x00\x15\x00\x21\x00\x22\x00\x0b\x00\x38\x00\x17\x00\x17\x00\x0c\x00\x3a\x00\x17\x00\x0d\x00\x43\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x2a\x00\x14\x00\x15\x00\x0b\x00\x17\x00\x26\x00\x38\x00\x0c\x00\x3d\x00\x3e\x00\x43\x00\x2a\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x33\x00\x14\x00\x15\x00\x0c\x00\x2c\x00\x2d\x00\x0d\x00\x2e\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x26\x00\x14\x00\x15\x00\x0c\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x17\x00\x00\x00\x14\x00\x15\x00\x19\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x1a\x00\x1b\x00\x19\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x22\x00\x18\x00\x3b\x00\x26\x00\x23\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x27\x00\x00\x00\x00\x00\x24\x00\x00\x00\x28\x00\x1c\x00\x03\x00\x04\x00\x05\x00\x00\x00\x1d\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x45\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x39\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x02\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x15\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x38\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x2a\x00\x18\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x17\x00\x18\x00\x00\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x33\x00\x00\x00\x31\x00\x34\x00\x00\x00\x35\x00\x00\x00\x32\x00\x36\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#+happyTable = HappyA# "\x00\x00\x0b\x00\x50\x00\x51\x00\x49\x00\x0c\x00\x4a\x00\x4b\x00\x0d\x00\x4c\x00\x45\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x20\x00\x14\x00\x15\x00\x21\x00\x22\x00\x0b\x00\x2f\x00\x17\x00\x17\x00\x0c\x00\x27\x00\x35\x00\x0d\x00\x48\x00\x31\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\xff\xff\x32\x00\x14\x00\x15\x00\x0b\x00\x4e\x00\x26\x00\x33\x00\x0c\x00\x43\x00\x17\x00\x17\x00\x2e\x00\x2f\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x43\x00\x14\x00\x15\x00\x0c\x00\x49\x00\x4f\x00\x0d\x00\x50\x00\x4e\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x0b\x00\x3e\x00\x14\x00\x15\x00\x0c\x00\x35\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x26\x00\x3b\x00\x14\x00\x15\x00\x27\x00\x2b\x00\x26\x00\x17\x00\x28\x00\x19\x00\x00\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x29\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x1a\x00\x1b\x00\x19\x00\x3c\x00\x03\x00\x04\x00\x05\x00\x00\x00\x3d\x00\x00\x00\x17\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x22\x00\x18\x00\x46\x00\x00\x00\x00\x00\x23\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x24\x00\x03\x00\x04\x00\x05\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x52\x00\x00\x00\x03\x00\x04\x00\x05\x00\x44\x00\x00\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x02\x00\x00\x00\x03\x00\x04\x00\x05\x00\x15\x00\x00\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x30\x00\x04\x00\x05\x00\x00\x00\x43\x00\x04\x00\x05\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x07\x00\x08\x00\x09\x00\x35\x00\x18\x00\x00\x00\x00\x00\x17\x00\x18\x00\x00\x00\x06\x00\x07\x00\x08\x00\x09\x00\x06\x00\x07\x00\x08\x00\x09\x00\x3e\x00\x00\x00\x00\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"# -happyReduceArr = Happy_Data_Array.array (1, 50) [+happyReduceArr = Happy_Data_Array.array (1, 59) [ 	(1 , happyReduce_1), 	(2 , happyReduce_2), 	(3 , happyReduce_3),@@ -234,18 +258,27 @@ 	(47 , happyReduce_47), 	(48 , happyReduce_48), 	(49 , happyReduce_49),-	(50 , happyReduce_50)+	(50 , happyReduce_50),+	(51 , happyReduce_51),+	(52 , happyReduce_52),+	(53 , happyReduce_53),+	(54 , happyReduce_54),+	(55 , happyReduce_55),+	(56 , happyReduce_56),+	(57 , happyReduce_57),+	(58 , happyReduce_58),+	(59 , happyReduce_59) 	] -happy_n_terms = 24 :: Int-happy_n_nonterms = 24 :: Int+happy_n_terms = 25 :: Int+happy_n_nonterms = 28 :: Int  happyReduce_1 = happySpecReduce_3  0# happyReduction_1 happyReduction_1 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOut4 happy_x_1 of { happy_var_1 -> -	case happyOut5 happy_x_3 of { happy_var_3 -> +	case happyOut6 happy_x_3 of { happy_var_3 ->  	happyIn4 		 (Ratio happy_var_1 happy_var_3 	)}}@@ -253,378 +286,451 @@ happyReduce_2 = happySpecReduce_2  0# happyReduction_2 happyReduction_2 happy_x_2 	happy_x_1-	 =  case happyOut6 happy_x_2 of { happy_var_2 -> +	 =  case happyOut7 happy_x_2 of { happy_var_2 ->  	happyIn4 		 (Neg happy_var_2 	)}  happyReduce_3 = happySpecReduce_1  0# happyReduction_3 happyReduction_3 happy_x_1-	 =  case happyOut5 happy_x_1 of { happy_var_1 -> +	 =  case happyOut6 happy_x_1 of { happy_var_1 ->  	happyIn4 		 (happy_var_1 	)} -happyReduce_4 = happySpecReduce_2  1# happyReduction_4+happyReduce_4 = happySpecReduce_2  0# happyReduction_4 happyReduction_4 happy_x_2 	happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	case happyOut10 happy_x_2 of { happy_var_2 -> +	 =  case happyOut6 happy_x_1 of { happy_var_1 -> +	case happyOut13 happy_x_2 of { happy_var_2 -> +	happyIn4+		 (InfixCons happy_var_1 happy_var_2+	)}}++happyReduce_5 = happySpecReduce_2  1# happyReduction_5+happyReduction_5 happy_x_2+	happy_x_1+	 =  case happyOut9 happy_x_1 of { happy_var_1 -> +	case happyOut6 happy_x_2 of { happy_var_2 ->  	happyIn5+		 ((happy_var_1,happy_var_2)+	)}}++happyReduce_6 = happySpecReduce_2  2# happyReduction_6+happyReduction_6 happy_x_2+	happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	case happyOut12 happy_x_2 of { happy_var_2 -> +	happyIn6 		 (Con happy_var_1 happy_var_2 	)}} -happyReduce_5 = happySpecReduce_1  1# happyReduction_5-happyReduction_5 happy_x_1-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> -	happyIn5+happyReduce_7 = happySpecReduce_1  2# happyReduction_7+happyReduction_7 happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	happyIn6 		 (happy_var_1 	)} -happyReduce_6 = happySpecReduce_3  2# happyReduction_6-happyReduction_6 happy_x_3+happyReduce_8 = happySpecReduce_3  3# happyReduction_8+happyReduction_8 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOut4 happy_x_2 of { happy_var_2 -> -	happyIn6+	happyIn7 		 (happy_var_2 	)} -happyReduce_7 = happySpecReduce_3  2# happyReduction_7-happyReduction_7 happy_x_3+happyReduce_9 = happySpecReduce_3  3# happyReduction_9+happyReduction_9 happy_x_3 	happy_x_2 	happy_x_1-	 =  case happyOut16 happy_x_2 of { happy_var_2 -> -	happyIn6+	 =  case happyOut19 happy_x_2 of { happy_var_2 -> +	happyIn7 		 (List happy_var_2 	)} -happyReduce_8 = happySpecReduce_3  2# happyReduction_8-happyReduction_8 happy_x_3+happyReduce_10 = happySpecReduce_3  3# happyReduction_10+happyReduction_10 happy_x_3 	happy_x_2 	happy_x_1-	 =  case happyOut9 happy_x_2 of { happy_var_2 -> -	happyIn6+	 =  case happyOut11 happy_x_2 of { happy_var_2 -> +	happyIn7 		 (Tuple happy_var_2 	)} -happyReduce_9 = happyReduce 4# 2# happyReduction_9-happyReduction_9 (happy_x_4 `HappyStk`+happyReduce_11 = happyReduce 4# 3# happyReduction_11+happyReduction_11 (happy_x_4 `HappyStk` 	happy_x_3 `HappyStk` 	happy_x_2 `HappyStk` 	happy_x_1 `HappyStk` 	happyRest)-	 = case happyOut7 happy_x_1 of { happy_var_1 -> -	case happyOut15 happy_x_3 of { happy_var_3 -> -	happyIn6+	 = case happyOut8 happy_x_1 of { happy_var_1 -> +	case happyOut18 happy_x_3 of { happy_var_3 -> +	happyIn7 		 (Rec happy_var_1 happy_var_3 	) `HappyStk` happyRest}} -happyReduce_10 = happySpecReduce_1  2# happyReduction_10-happyReduction_10 happy_x_1-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> -	happyIn6+happyReduce_12 = happySpecReduce_1  3# happyReduction_12+happyReduction_12 happy_x_1+	 =  case happyOut8 happy_x_1 of { happy_var_1 -> +	happyIn7 		 (Con happy_var_1 [] 	)} -happyReduce_11 = happySpecReduce_1  2# happyReduction_11-happyReduction_11 happy_x_1+happyReduce_13 = happySpecReduce_1  3# happyReduction_13+happyReduction_13 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((IntLit,   (_,happy_var_1))) -> -	happyIn6+	happyIn7 		 (Integer happy_var_1 	)} -happyReduce_12 = happySpecReduce_1  2# happyReduction_12-happyReduction_12 happy_x_1+happyReduce_14 = happySpecReduce_1  3# happyReduction_14+happyReduction_14 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((FloatLit, (_,happy_var_1))) -> -	happyIn6+	happyIn7 		 (Float happy_var_1 	)} -happyReduce_13 = happySpecReduce_1  2# happyReduction_13-happyReduction_13 happy_x_1+happyReduce_15 = happySpecReduce_1  3# happyReduction_15+happyReduction_15 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((StringLit, (_,happy_var_1))) -> -	happyIn6+	happyIn7 		 (String happy_var_1 	)} -happyReduce_14 = happySpecReduce_1  2# happyReduction_14-happyReduction_14 happy_x_1+happyReduce_16 = happySpecReduce_1  3# happyReduction_16+happyReduction_16 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((CharLit,  (_,happy_var_1))) -> -	happyIn6+	happyIn7 		 (Char happy_var_1 	)} -happyReduce_15 = happySpecReduce_1  3# happyReduction_15-happyReduction_15 happy_x_1+happyReduce_17 = happySpecReduce_1  4# happyReduction_17+happyReduction_17 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((Conid,    (_,happy_var_1))) -> -	happyIn7+	happyIn8 		 (happy_var_1 	)} -happyReduce_16 = happySpecReduce_1  3# happyReduction_16-happyReduction_16 happy_x_1+happyReduce_18 = happySpecReduce_1  4# happyReduction_18+happyReduction_18 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((Qconid,   (_,happy_var_1))) -> -	happyIn7+	happyIn8 		 (happy_var_1 	)} -happyReduce_17 = happySpecReduce_1  3# happyReduction_17-happyReduction_17 happy_x_1-	 =  case happyOut11 happy_x_1 of { happy_var_1 -> -	happyIn7+happyReduce_19 = happySpecReduce_1  4# happyReduction_19+happyReduction_19 happy_x_1+	 =  case happyOut14 happy_x_1 of { happy_var_1 -> +	happyIn8 		 (happy_var_1 	)} -happyReduce_18 = happySpecReduce_1  3# happyReduction_18-happyReduction_18 happy_x_1-	 =  case happyOut12 happy_x_1 of { happy_var_1 -> -	happyIn7+happyReduce_20 = happySpecReduce_1  4# happyReduction_20+happyReduction_20 happy_x_1+	 =  case happyOut15 happy_x_1 of { happy_var_1 -> +	happyIn8 		 (happy_var_1 	)} -happyReduce_19 = happySpecReduce_1  3# happyReduction_19-happyReduction_19 happy_x_1+happyReduce_21 = happySpecReduce_1  4# happyReduction_21+happyReduction_21 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((Varid,    (_,happy_var_1))) -> -	happyIn7+	happyIn8 		 (happy_var_1 	)} -happyReduce_20 = happySpecReduce_1  3# happyReduction_20-happyReduction_20 happy_x_1+happyReduce_22 = happySpecReduce_1  4# happyReduction_22+happyReduction_22 happy_x_1 	 =  case happyOutTok happy_x_1 of { ((Qvarid,   (_,happy_var_1))) -> -	happyIn7+	happyIn8 		 (happy_var_1 	)} -happyReduce_21 = happySpecReduce_1  3# happyReduction_21-happyReduction_21 happy_x_1-	 =  case happyOut14 happy_x_1 of { happy_var_1 -> -	happyIn7+happyReduce_23 = happySpecReduce_1  4# happyReduction_23+happyReduction_23 happy_x_1+	 =  case happyOut17 happy_x_1 of { happy_var_1 -> +	happyIn8 		 (happy_var_1 	)} -happyReduce_22 = happySpecReduce_1  3# happyReduction_22-happyReduction_22 happy_x_1-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> -	happyIn7+happyReduce_24 = happySpecReduce_1  4# happyReduction_24+happyReduction_24 happy_x_1+	 =  case happyOut16 happy_x_1 of { happy_var_1 -> +	happyIn8 		 (happy_var_1 	)} -happyReduce_23 = happySpecReduce_3  4# happyReduction_23-happyReduction_23 happy_x_3+happyReduce_25 = happySpecReduce_1  5# happyReduction_25+happyReduction_25 happy_x_1+	 =  case happyOutTok happy_x_1 of { ((Consym,   (_,happy_var_1))) -> +	happyIn9+		 (happy_var_1+	)}++happyReduce_26 = happySpecReduce_1  5# happyReduction_26+happyReduction_26 happy_x_1+	 =  case happyOutTok happy_x_1 of { ((Qconsym,  (_,happy_var_1))) -> +	happyIn9+		 (happy_var_1+	)}++happyReduce_27 = happySpecReduce_3  5# happyReduction_27+happyReduction_27 happy_x_3 	happy_x_2 	happy_x_1+	 =  case happyOutTok happy_x_2 of { ((Conid,    (_,happy_var_2))) -> +	happyIn9+		 (backtick happy_var_2+	)}++happyReduce_28 = happySpecReduce_3  5# happyReduction_28+happyReduction_28 happy_x_3+	happy_x_2+	happy_x_1+	 =  case happyOutTok happy_x_2 of { ((Qconid,   (_,happy_var_2))) -> +	happyIn9+		 (backtick happy_var_2+	)}++happyReduce_29 = happySpecReduce_3  6# happyReduction_29+happyReduction_29 happy_x_3+	happy_x_2+	happy_x_1 	 =  case happyOutTok happy_x_1 of { ((Varid,    (_,happy_var_1))) ->  	case happyOut4 happy_x_3 of { happy_var_3 -> -	happyIn8+	happyIn10 		 ((happy_var_1,happy_var_3) 	)}} -happyReduce_24 = happySpecReduce_0  5# happyReduction_24-happyReduction_24  =  happyIn9+happyReduce_30 = happySpecReduce_0  7# happyReduction_30+happyReduction_30  =  happyIn11 		 ([] 	) -happyReduce_25 = happySpecReduce_3  5# happyReduction_25-happyReduction_25 happy_x_3+happyReduce_31 = happySpecReduce_3  7# happyReduction_31+happyReduction_31 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOut4 happy_x_1 of { happy_var_1 -> -	case happyOut17 happy_x_3 of { happy_var_3 -> -	happyIn9+	case happyOut20 happy_x_3 of { happy_var_3 -> +	happyIn11 		 (happy_var_1 : happy_var_3 	)}} -happyReduce_26 = happySpecReduce_1  6# happyReduction_26-happyReduction_26 happy_x_1-	 =  case happyOut19 happy_x_1 of { happy_var_1 -> -	happyIn10+happyReduce_32 = happySpecReduce_1  8# happyReduction_32+happyReduction_32 happy_x_1+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	happyIn12 		 (reverse happy_var_1 	)} -happyReduce_27 = happySpecReduce_3  7# happyReduction_27-happyReduction_27 happy_x_3+happyReduce_33 = happySpecReduce_1  9# happyReduction_33+happyReduction_33 happy_x_1+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> +	happyIn13+		 (reverse happy_var_1+	)}++happyReduce_34 = happySpecReduce_3  10# happyReduction_34+happyReduction_34 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOutTok happy_x_2 of { ((Consym,   (_,happy_var_2))) -> -	happyIn11+	happyIn14 		 ("(" ++ happy_var_2 ++ ")" 	)} -happyReduce_28 = happySpecReduce_3  8# happyReduction_28-happyReduction_28 happy_x_3+happyReduce_35 = happySpecReduce_3  11# happyReduction_35+happyReduction_35 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOutTok happy_x_2 of { ((Qconsym,  (_,happy_var_2))) -> -	happyIn12+	happyIn15 		 ("(" ++ happy_var_2 ++ ")" 	)} -happyReduce_29 = happySpecReduce_3  9# happyReduction_29-happyReduction_29 happy_x_3+happyReduce_36 = happySpecReduce_3  12# happyReduction_36+happyReduction_36 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOutTok happy_x_2 of { ((Qvarsym,  (_,happy_var_2))) -> -	happyIn13+	happyIn16 		 ("(" ++ happy_var_2 ++ ")" 	)} -happyReduce_30 = happySpecReduce_3  10# happyReduction_30-happyReduction_30 happy_x_3+happyReduce_37 = happySpecReduce_3  13# happyReduction_37+happyReduction_37 happy_x_3 	happy_x_2 	happy_x_1 	 =  case happyOutTok happy_x_2 of { ((Varsym,   (_,happy_var_2))) -> -	happyIn14+	happyIn17 		 ("(" ++ happy_var_2 ++ ")" 	)} -happyReduce_31 = happySpecReduce_1  11# happyReduction_31-happyReduction_31 happy_x_1-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> -	happyIn15+happyReduce_38 = happySpecReduce_1  14# happyReduction_38+happyReduction_38 happy_x_1+	 =  case happyOut24 happy_x_1 of { happy_var_1 -> +	happyIn18 		 (happy_var_1 	)} -happyReduce_32 = happySpecReduce_0  11# happyReduction_32-happyReduction_32  =  happyIn15+happyReduce_39 = happySpecReduce_0  14# happyReduction_39+happyReduction_39  =  happyIn18 		 ([] 	) -happyReduce_33 = happySpecReduce_1  12# happyReduction_33-happyReduction_33 happy_x_1-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> -	happyIn16+happyReduce_40 = happySpecReduce_1  15# happyReduction_40+happyReduction_40 happy_x_1+	 =  case happyOut20 happy_x_1 of { happy_var_1 -> +	happyIn19 		 (happy_var_1 	)} -happyReduce_34 = happySpecReduce_0  12# happyReduction_34-happyReduction_34  =  happyIn16+happyReduce_41 = happySpecReduce_0  15# happyReduction_41+happyReduction_41  =  happyIn19 		 ([] 	) -happyReduce_35 = happySpecReduce_2  13# happyReduction_35-happyReduction_35 happy_x_2+happyReduce_42 = happySpecReduce_2  16# happyReduction_42+happyReduction_42 happy_x_2 	happy_x_1 	 =  case happyOut4 happy_x_1 of { happy_var_1 -> -	case happyOut18 happy_x_2 of { happy_var_2 -> -	happyIn17+	case happyOut21 happy_x_2 of { happy_var_2 -> +	happyIn20 		 (happy_var_1 : happy_var_2 	)}} -happyReduce_36 = happySpecReduce_1  14# happyReduction_36-happyReduction_36 happy_x_1-	 =  case happyOut23 happy_x_1 of { happy_var_1 -> -	happyIn18+happyReduce_43 = happySpecReduce_1  17# happyReduction_43+happyReduction_43 happy_x_1+	 =  case happyOut27 happy_x_1 of { happy_var_1 -> +	happyIn21 		 (happy_var_1 	)} -happyReduce_37 = happySpecReduce_0  14# happyReduction_37-happyReduction_37  =  happyIn18+happyReduce_44 = happySpecReduce_0  17# happyReduction_44+happyReduction_44  =  happyIn21 		 ([] 	) -happyReduce_38 = happySpecReduce_1  15# happyReduction_38-happyReduction_38 happy_x_1-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> -	happyIn19+happyReduce_45 = happySpecReduce_1  18# happyReduction_45+happyReduction_45 happy_x_1+	 =  case happyOut7 happy_x_1 of { happy_var_1 -> +	happyIn22 		 ([happy_var_1] 	)} -happyReduce_39 = happySpecReduce_2  15# happyReduction_39-happyReduction_39 happy_x_2+happyReduce_46 = happySpecReduce_2  18# happyReduction_46+happyReduction_46 happy_x_2 	happy_x_1-	 =  case happyOut19 happy_x_1 of { happy_var_1 -> -	case happyOut6 happy_x_2 of { happy_var_2 -> -	happyIn19+	 =  case happyOut22 happy_x_1 of { happy_var_1 -> +	case happyOut7 happy_x_2 of { happy_var_2 -> +	happyIn22 		 (happy_var_2 : happy_var_1 	)}} -happyReduce_40 = happySpecReduce_2  16# happyReduction_40-happyReduction_40 happy_x_2+happyReduce_47 = happySpecReduce_1  19# happyReduction_47+happyReduction_47 happy_x_1+	 =  case happyOut5 happy_x_1 of { happy_var_1 -> +	happyIn23+		 ([happy_var_1]+	)}++happyReduce_48 = happySpecReduce_2  19# happyReduction_48+happyReduction_48 happy_x_2 	happy_x_1-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> -	case happyOut22 happy_x_2 of { happy_var_2 -> -	happyIn20+	 =  case happyOut23 happy_x_1 of { happy_var_1 -> +	case happyOut5 happy_x_2 of { happy_var_2 -> +	happyIn23+		 (happy_var_2 : happy_var_1+	)}}++happyReduce_49 = happySpecReduce_2  20# happyReduction_49+happyReduction_49 happy_x_2+	happy_x_1+	 =  case happyOut10 happy_x_1 of { happy_var_1 -> +	case happyOut26 happy_x_2 of { happy_var_2 -> +	happyIn24 		 (happy_var_1 : happy_var_2 	)}} -happyReduce_41 = happySpecReduce_2  17# happyReduction_41-happyReduction_41 happy_x_2+happyReduce_50 = happySpecReduce_2  21# happyReduction_50+happyReduction_50 happy_x_2 	happy_x_1 	 =  case happyOut4 happy_x_2 of { happy_var_2 -> -	happyIn21+	happyIn25 		 (happy_var_2 	)} -happyReduce_42 = happySpecReduce_1  18# happyReduction_42-happyReduction_42 happy_x_1-	 =  case happyOut25 happy_x_1 of { happy_var_1 -> -	happyIn22+happyReduce_51 = happySpecReduce_1  22# happyReduction_51+happyReduction_51 happy_x_1+	 =  case happyOut29 happy_x_1 of { happy_var_1 -> +	happyIn26 		 (happy_var_1 	)} -happyReduce_43 = happySpecReduce_0  18# happyReduction_43-happyReduction_43  =  happyIn22+happyReduce_52 = happySpecReduce_0  22# happyReduction_52+happyReduction_52  =  happyIn26 		 ([] 	) -happyReduce_44 = happySpecReduce_1  19# happyReduction_44-happyReduction_44 happy_x_1-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> -	happyIn23+happyReduce_53 = happySpecReduce_1  23# happyReduction_53+happyReduction_53 happy_x_1+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	happyIn27 		 (reverse happy_var_1 	)} -happyReduce_45 = happySpecReduce_2  20# happyReduction_45-happyReduction_45 happy_x_2+happyReduce_54 = happySpecReduce_2  24# happyReduction_54+happyReduction_54 happy_x_2 	happy_x_1-	 =  case happyOut8 happy_x_2 of { happy_var_2 -> -	happyIn24+	 =  case happyOut10 happy_x_2 of { happy_var_2 -> +	happyIn28 		 (happy_var_2 	)} -happyReduce_46 = happySpecReduce_1  21# happyReduction_46-happyReduction_46 happy_x_1-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> -	happyIn25+happyReduce_55 = happySpecReduce_1  25# happyReduction_55+happyReduction_55 happy_x_1+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	happyIn29 		 (reverse happy_var_1 	)} -happyReduce_47 = happySpecReduce_1  22# happyReduction_47-happyReduction_47 happy_x_1-	 =  case happyOut21 happy_x_1 of { happy_var_1 -> -	happyIn26+happyReduce_56 = happySpecReduce_1  26# happyReduction_56+happyReduction_56 happy_x_1+	 =  case happyOut25 happy_x_1 of { happy_var_1 -> +	happyIn30 		 ([happy_var_1] 	)} -happyReduce_48 = happySpecReduce_2  22# happyReduction_48-happyReduction_48 happy_x_2+happyReduce_57 = happySpecReduce_2  26# happyReduction_57+happyReduction_57 happy_x_2 	happy_x_1-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> -	case happyOut21 happy_x_2 of { happy_var_2 -> -	happyIn26+	 =  case happyOut30 happy_x_1 of { happy_var_1 -> +	case happyOut25 happy_x_2 of { happy_var_2 -> +	happyIn30 		 (happy_var_2 : happy_var_1 	)}} -happyReduce_49 = happySpecReduce_1  23# happyReduction_49-happyReduction_49 happy_x_1-	 =  case happyOut24 happy_x_1 of { happy_var_1 -> -	happyIn27+happyReduce_58 = happySpecReduce_1  27# happyReduction_58+happyReduction_58 happy_x_1+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> +	happyIn31 		 ([happy_var_1] 	)} -happyReduce_50 = happySpecReduce_2  23# happyReduction_50-happyReduction_50 happy_x_2+happyReduce_59 = happySpecReduce_2  27# happyReduction_59+happyReduction_59 happy_x_2 	happy_x_1-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> -	case happyOut24 happy_x_2 of { happy_var_2 -> -	happyIn27+	 =  case happyOut31 happy_x_1 of { happy_var_1 -> +	case happyOut28 happy_x_2 of { happy_var_2 -> +	happyIn31 		 (happy_var_2 : happy_var_1 	)}}  happyNewToken action sts stk [] =-	happyDoAction 23# notHappyAtAll action sts stk []+	happyDoAction 24# notHappyAtAll action sts stk []  happyNewToken action sts stk (tk:tks) = 	let cont i = happyDoAction i tk action sts stk tks in@@ -639,22 +745,23 @@ 	(Special, (_,",")) -> cont 8#; 	(Varsym,  (_,"-")) -> cont 9#; 	(Varsym,  (_,"%")) -> cont 10#;-	(IntLit,   (_,happy_dollar_dollar)) -> cont 11#;-	(FloatLit, (_,happy_dollar_dollar)) -> cont 12#;-	(StringLit, (_,happy_dollar_dollar)) -> cont 13#;-	(CharLit,  (_,happy_dollar_dollar)) -> cont 14#;-	(Varid,    (_,happy_dollar_dollar)) -> cont 15#;-	(Qvarid,   (_,happy_dollar_dollar)) -> cont 16#;-	(Varsym,   (_,happy_dollar_dollar)) -> cont 17#;-	(Qvarsym,  (_,happy_dollar_dollar)) -> cont 18#;-	(Conid,    (_,happy_dollar_dollar)) -> cont 19#;-	(Qconid,   (_,happy_dollar_dollar)) -> cont 20#;-	(Consym,   (_,happy_dollar_dollar)) -> cont 21#;-	(Qconsym,  (_,happy_dollar_dollar)) -> cont 22#;+	(Special, (_,"`")) -> cont 11#;+	(IntLit,   (_,happy_dollar_dollar)) -> cont 12#;+	(FloatLit, (_,happy_dollar_dollar)) -> cont 13#;+	(StringLit, (_,happy_dollar_dollar)) -> cont 14#;+	(CharLit,  (_,happy_dollar_dollar)) -> cont 15#;+	(Varid,    (_,happy_dollar_dollar)) -> cont 16#;+	(Qvarid,   (_,happy_dollar_dollar)) -> cont 17#;+	(Varsym,   (_,happy_dollar_dollar)) -> cont 18#;+	(Qvarsym,  (_,happy_dollar_dollar)) -> cont 19#;+	(Conid,    (_,happy_dollar_dollar)) -> cont 20#;+	(Qconid,   (_,happy_dollar_dollar)) -> cont 21#;+	(Consym,   (_,happy_dollar_dollar)) -> cont 22#;+	(Qconsym,  (_,happy_dollar_dollar)) -> cont 23#; 	_ -> happyError' (tk:tks) 	} -happyError_ 23# tk tks = happyError' tks+happyError_ 24# tk tks = happyError' tks happyError_ _ tk tks = happyError' (tk:tks)  happyThen :: () => Maybe a -> (a -> Maybe b) -> Maybe b@@ -672,6 +779,9 @@  happySeq = happyDontSeq ++backtick :: String -> String+backtick s = "`" ++ s ++ "`"  happyError :: [PosToken] -> Maybe a happyError ((_,(p,_)) : _) = Nothing -- error ("Parser error at: " ++ show p)
pretty-show.cabal view
@@ -1,5 +1,5 @@ name:           pretty-show-version:        1.5+version:        1.6 category:       Text  synopsis:       Tools for working with derived `Show` instances and generic@@ -35,6 +35,7 @@     Text.Show.Parser     Text.Show.Value     Text.Show.PrettyVal+    Paths_pretty_show   build-depends:     array          >= 0.2  &&  < 2,     base           >= 3    &&  < 5,