:quit
:exit
:exit
                                  return (map (\ns -> (head ns, length ns)) (group (sort names))) |]
                                      names = getNames decType
                                      getNamesFromPat _ = []
                                      getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2
                                      getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats
                                      getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats
                                      getNamesFromPat (VarP name) = [name]
                                      getNames _ = []
                                      getNames (ValD pat _ _) = getNamesFromPat pat
                                  let getNames (FunD name _) = [name]
ghci> putStrLn . show =<< runQ [d| decType <- reify (mkName "Dec")
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return (map (\ns -> (head ns, length ns)) (group (sort names))))
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName, Dec)
import Data.List (group, sort)
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return (map (\ns -> (head ns, length ns)) $ group $ sort names))
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName, Dec)
import Data.List (group, sort)
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return (map (\ns -> (head ns, length ns)) $ group $ sort names))
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName, Dec)
import Data.List (group, sort)
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names)
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName, Dec)
import Data.List (group, sort)
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names))
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names)
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names)
main = putStrLn . show =<< runQ (do decType <- reify (mkName "Dec"); let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = []; let names = getNames decType in return $ map (\ns -> (head ns, length ns)) $ group $ sort names)
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName, Dec)
import Data.List (group, sort)
  return $ map (\ns -> (head ns, length ns)) $ group $ sort names
      names = getNames decType
      getNamesFromPat _ = []
      getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2
      getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats
      getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats
      getNamesFromPat (VarP name) = [name]
      getNames _ = []
      getNames (ValD pat _ _) = getNamesFromPat pat
  let getNames (FunD name _) = [name]
  decType <- reify (mkName "Dec")
show $ runQ $ do
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName, Dec)
import Data.List (group, sort)
show $ runQ $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (runQ (reify (mkName "Dec")))
import Language.Haskell.TH.Syntax (Q, runQ, reify, mkName)
import Data.List (group, sort)
show  $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP name _ pats) = name : concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
import Data.List (group, sort)
show  $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _ _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
import Data.List (group, sort)
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< (reify (mkName "Dec"))
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] in let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< reify (mkName "Dec")
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< reify (mkName "Dec") where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< reify (mkName "Dec") where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< reify (mkName "Dec"); where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< reify (mkName "Dec"); where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\decType -> let names = getNames decType in map (\ns -> (head ns, length ns)) $ group $ sort names) =<< reify (mkName "Dec"); where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\str -> let decType = read str :: Dec in map (\ns -> (head ns, length ns)) $ group $ sort $ getNames decType) "data Language.Haskell.TH.Syntax.Dec\n    = Language.Haskell.TH.Syntax.FunD Language.Haskell.TH.Syntax.Name\n                                      ([Language.Haskell.TH.Syntax.Clause])\n    | Language.Haskell.TH.Syntax.ValD Language.Haskell.TH.Syntax.Pat                                                                            Language.Haskell.TH.Syntax.Body"; where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
show $ void $ mapM putStrLn $ map (\(name, count) -> show name ++ ": " ++ show count) $ (\str -> let decType = read str :: Dec in map (\ns -> (head ns, length ns)) $ group $ sort $ getNames decType) "data Language.Haskell.TH.Syntax.Dec\n    = Language.Haskell.TH.Syntax.FunD Language.Haskell.TH.Syntax.Name\n                                      ([Language.Haskell.TH.Syntax.Clause])\n    | Language.Haskell.TH.Syntax.ValD Language.Haskell.TH.Syntax.Pat                                                                            Language.Haskell.TH.Syntax.Body"; where { getNames (FunD name _) = [name]; getNames (ValD pat _) = getNamesFromPat pat; getNames _ = []; getNamesFromPat (VarP name) = [name]; getNamesFromPat (TupP pats) = concatMap getNamesFromPat pats; getNamesFromPat (ConP _ pats) = concatMap getNamesFromPat pats; getNamesFromPat (InfixP pat1 _ pat2) = getNamesFromPat pat1 ++ getNamesFromPat pat2; getNamesFromPat _ = [] }
putStrLn $ $(stringE . pprint =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> putStrLn LitE (stringE (nameBase nm))) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> putStrLn LitE (stringE (nameBase nm))) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn LitE (stringE (nameBase nm)) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn LitE (stringE (nameBase nm)) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (stringE (nameBase nm))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL (stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL $(stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL $(stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL $(stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL $(stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL $(stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(litE (StringL $(stringE (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< LitE (StringL "$(nameBase nm)")) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< LitE (StringL "$(nameBase nm)")) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< LitE (StringL "$(nameBase nm)")) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< stringE (LitE (StringL "$(nameBase nm)"))) |]) =<< reify (mkName "Dec"))
parseExp=LitE
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< stringE (LitE (StringL "$(nameBase nm)"))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< stringE (LitE (StringL "$(nameBase nm)"))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(parseExp =<< stringE (LitE (StringL "$(nameBase nm)"))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(stringE (LitE (StringL "$(nameBase nm)")))|]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $ $(stringE (LitE (StringL "$(nameBase nm)")))|]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(stringE (LitE (StringL (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(stringE (LitE (StringL (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| putStrLn $(stringE (LitE (StringL (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| pprint $(stringE (LitE (StringL (nameBase nm)))) |]) =<< reify (mkName "Dec"))
putStrLn $ $(stringE . pprint =<< (\(VarI nm _ _) -> [| pprint $(stringE (LitE (StringL (nameBase nm)))) |]) =<< reify (mkName "Dec"))
