packages feed

papillon 0.0.47 → 0.0.56

raw patch · 11 files changed

+483/−401 lines, 11 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Text.Papillon: pePosition :: ParseError pos drv -> pos
+ Text.PapillonCore: peCode :: ParseError pos drv -> String
+ Text.PapillonCore: peComment :: ParseError pos drv -> String
+ Text.PapillonCore: peDerivs :: ParseError pos drv -> drv
+ Text.PapillonCore: peMessage :: ParseError pos drv -> String
+ Text.PapillonCore: pePosition :: ParseError pos drv -> pos
+ Text.PapillonCore: peReading :: ParseError pos drv -> ([String])

Files

bin/Class.hs view
@@ -28,7 +28,7 @@ 	forallT [PlainTV pos, PlainTV drv] (cxt []) $ 		stringT `arrT` stringT `arrT` stringT `arrT` varT drv `arrT` 			listT `appT` stringT `arrT` varT pos `arrT` -		varT (mkName "ParseError") `appT` varT pos `appT` varT drv+		conT (mkName "ParseError") `appT` varT pos `appT` varT drv 	where 	pos = mkName "pos" 	drv = mkName "drv"@@ -40,14 +40,13 @@ parseErrorT :: Bool -> DecQ parseErrorT _ = flip (dataD (cxt []) (mkName "ParseError") 		[PlainTV $ mkName "pos", PlainTV $ mkName "drv"])-	[] $ (:[]) $-	recC (mkName "ParseError") [-		varStrictType c $ strictType notStrict $ conT $ mkName "String",-		varStrictType m $ strictType notStrict $ conT $ mkName "String",-		varStrictType com $ strictType notStrict $ conT $ mkName "String",-		varStrictType d $ strictType notStrict $ varT $ mkName "drv",-		varStrictType r $ strictType notStrict $ listT `appT` conT (mkName "String"),-		varStrictType pos $ strictType notStrict $ varT $ mkName "pos"+	[] $ [	recC (mkName "ParseError") [+			varStrictType c strT,+			varStrictType m strT,+			varStrictType com strT,+			varStrictType d drvT,+			varStrictType r lstT,+			varStrictType pos posT ] 	 ] 	where 	[c, m, com, r, d, pos] = map mkName [@@ -58,6 +57,10 @@ 		"peDerivs", 		"pePosition" 	 ]+	strT = strictType notStrict $ conT $ mkName "String"+	drvT = strictType notStrict $ varT $ mkName "drv"+	lstT = strictType notStrict $ listT `appT` conT (mkName "String")+	posT = strictType notStrict $ varT $ mkName "pos"  {- @@ -108,8 +111,9 @@ 	`arrT` 	tupT [conT $ mkName "Int", conT $ mkName "Int"] pePositionSD :: DecQ-pePositionSD = funD (mkName "pePositionS") $ (: []) $ clause-	[pat] (normalB $ varE $ mkName "p") []+pePositionSD = funD (mkName "pePositionS") $ [+	clause [pat] (normalB $ varE $ mkName "p") []+ ] 	where 	pat = recP (mkName "ParseError") [fieldPat (mkName "pePosition") $ 		conP (mkName "ListPos")
bin/papillon.hs view
@@ -88,8 +88,9 @@ 	"peComment", 	"peDerivs", 	"peReading",-	"Pos(..)",+	"pePosition", 	"pePositionS",+	"Pos(..)", 	"Source(..)", 	"SourceList(..)", 	"ListPos(..)"
+ examples/arith.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE QuasiQuotes, TypeFamilies #-}++import Prelude hiding (product, sum)+import Text.Papillon+import Data.Char+import System.Environment++main :: IO ()+main = do+	arg : _ <- getArgs+	case expr $ parse arg of+		Right (r, _) -> print r+		Left _ -> putStrLn "parse error"++[papillon|++value :: Int+	= ds:(d:[isDigit d] { d })+	{ read ds }+	/ '(' e:expr ')'		{ e }+;+product :: Int+	= v0:value ops:(op:('*' { (*) } / '/' { div }) v:value { (`op` v) })*+					{ foldl (flip ($)) v0 ops }+;+expr :: Int+	= p0:product ops:(op:('+' { (+) } / '-' { (-) }) p:product { (`op` p) })*+					{ foldl (flip ($)) p0 ops }+;++|]
+ examples/config.hs view
@@ -0,0 +1,30 @@+{-# LANGUAGE QuasiQuotes, TypeFamilies #-}++import Text.Papillon+import System.Environment+import Data.Char++main :: IO ()+main = do+	fp : _ <- getArgs+	cnt <- readFile fp+	case conf $ parse cnt of+		Right (r, _) -> print r+		Left _ -> putStrLn "parse error"++[papillon|++name :: String+	= s:(c:[isLower c] { c })+		{ s }+;+value :: Int+	= ds:(d:[isDigit d] { d })+		{ read ds }+;+conf1 :: (String, Int)+	= n:name ':' ' ' v:value		{ (n, v) }+;+conf :: [(String, Int)]+	= cs:(c:conf1 '\n' { c })+ !_:[True]	{ cs }+;++|]
+ examples/test.config view
@@ -0,0 +1,2 @@+hello: 33+world: 952
papillon.cabal view
@@ -2,7 +2,7 @@ cabal-version:	>= 1.8  name:		papillon-version:	0.0.47+version:	0.0.56 stability:	Experimental author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp> maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>@@ -14,9 +14,12 @@ category:	Parsing synopsis:	packrat parser description:-	blah blah blah+	see examples directory  extra-source-files:+  examples/arith.hs+  examples/config.hs+  examples/test.config  source-repository	head   type:		git@@ -25,7 +28,7 @@ source-repository	this   type:		git   location:	git://github.com/YoshikuniJujo/papillon.git-  tag:		0.0.47+  tag:		0.0.56  library   hs-source-dirs:	src
src/Text/Papillon.hs view
@@ -1,16 +1,18 @@ module Text.Papillon ( 	papillon,-	ParseError,-	mkParseError,-	peCode,-	peMessage,-	peDerivs,-	peComment,-	peReading, 	Source(..), 	SourceList(..), 	Pos(..), 	ListPos(..),+	-- * For parse error message+	ParseError,+	mkParseError,+	peDerivs,+	peReading,+	peMessage,+	peCode,+	peComment,+	pePosition, 	pePositionS, ) where 
src/Text/Papillon/Papillon.hs view
@@ -7,8 +7,9 @@ 	peComment, 	peDerivs, 	peReading,-	Pos(..),+	pePosition, 	pePositionS,+	Pos(..), 	Source(..), 	SourceList(..), 	ListPos(..)) where
src/Text/Papillon/Parser.hs view
@@ -12,7 +12,7 @@ 	nameFromRF, 	ParseError(..), 	mkParseError,-	Derivs(peg, pegFile, derivsChars),+	Derivs(peg, pegFile, char), 	Pos(..), 	ListPos(..), 	pePositionS,@@ -164,9 +164,9 @@               notComStr :: (Either (ParseError (Pos String) Derivs)                                    (((), Derivs))),               comEnd :: (Either (ParseError (Pos String) Derivs) (((), Derivs))),-              derivsChars :: (Either (ParseError (Pos String) Derivs)-                                     ((Token String, Derivs))),-              derivsPosition :: (Pos String)}+              char :: (Either (ParseError (Pos String) Derivs)+                              ((Token String, Derivs))),+              position :: (Pos String)} parse :: String -> Derivs parse = parse0_0 initialPos           where parse0_0 pos s = d@@ -244,7 +244,7 @@                                                                 Just (c,                                                                       s') -> do put (parse0_0 (updatePos c pos) s')                                                                                 return c-                                                                _ -> gets derivsPosition >>= (throwError . mkParseError "" "end of input" "" undefined [])) d+                                                                _ -> gets position >>= (throwError . mkParseError "" "end of input" "" undefined [])) d                 pegFile4_71 = foldl1 mplus [do pr <- StateT pragmas                                                md <- StateT moduleDec                                                pip <- StateT preImpPap@@ -257,24 +257,24 @@                                                _ <- StateT spaces                                                return ()                                                d160_140 <- get-                                               xx159_141 <- StateT derivsChars+                                               xx159_141 <- StateT char                                                case xx159_141 of                                                    '|' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'|'" "not match pattern: " "" d160_140 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'|'" "not match pattern: " "" d160_140 ["char"])                                                let '|' = xx159_141                                                return ()                                                d162_142 <- get-                                               xx161_143 <- StateT derivsChars+                                               xx161_143 <- StateT char                                                case xx161_143 of                                                    ']' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d162_142 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d162_142 ["char"])                                                let ']' = xx161_143                                                return ()                                                d164_144 <- get-                                               xx163_145 <- StateT derivsChars+                                               xx163_145 <- StateT char                                                case xx163_145 of                                                    '\n' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d164_144 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d164_144 ["char"])                                                let '\n' = xx163_145                                                return ()                                                atp <- StateT afterPeg@@ -288,24 +288,24 @@                                                _ <- StateT spaces                                                return ()                                                d180_146 <- get-                                               xx179_147 <- StateT derivsChars+                                               xx179_147 <- StateT char                                                case xx179_147 of                                                    '|' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'|'" "not match pattern: " "" d180_146 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'|'" "not match pattern: " "" d180_146 ["char"])                                                let '|' = xx179_147                                                return ()                                                d182_148 <- get-                                               xx181_149 <- StateT derivsChars+                                               xx181_149 <- StateT char                                                case xx181_149 of                                                    ']' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d182_148 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d182_148 ["char"])                                                let ']' = xx181_149                                                return ()                                                d184_150 <- get-                                               xx183_151 <- StateT derivsChars+                                               xx183_151 <- StateT char                                                case xx183_151 of                                                    '\n' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d184_150 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d184_150 ["char"])                                                let '\n' = xx183_151                                                return ()                                                atp <- StateT afterPeg@@ -319,82 +319,82 @@                                                return ()                                                return []]                 pragma6_73 = foldl1 mplus [do d196_152 <- get-                                              xx195_153 <- StateT derivsChars+                                              xx195_153 <- StateT char                                               case xx195_153 of                                                   '{' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d196_152 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d196_152 ["char"])                                               let '{' = xx195_153                                               return ()                                               d198_154 <- get-                                              xx197_155 <- StateT derivsChars+                                              xx197_155 <- StateT char                                               case xx197_155 of                                                   '-' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d198_154 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d198_154 ["char"])                                               let '-' = xx197_155                                               return ()                                               d200_156 <- get-                                              xx199_157 <- StateT derivsChars+                                              xx199_157 <- StateT char                                               case xx199_157 of                                                   '#' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d200_156 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d200_156 ["char"])                                               let '#' = xx199_157                                               return ()                                               _ <- StateT spaces                                               return ()                                               d204_158 <- get-                                              xx203_159 <- StateT derivsChars+                                              xx203_159 <- StateT char                                               case xx203_159 of                                                   'L' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'L'" "not match pattern: " "" d204_158 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'L'" "not match pattern: " "" d204_158 ["char"])                                               let 'L' = xx203_159                                               return ()                                               d206_160 <- get-                                              xx205_161 <- StateT derivsChars+                                              xx205_161 <- StateT char                                               case xx205_161 of                                                   'A' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'A'" "not match pattern: " "" d206_160 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'A'" "not match pattern: " "" d206_160 ["char"])                                               let 'A' = xx205_161                                               return ()                                               d208_162 <- get-                                              xx207_163 <- StateT derivsChars+                                              xx207_163 <- StateT char                                               case xx207_163 of                                                   'N' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'N'" "not match pattern: " "" d208_162 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'N'" "not match pattern: " "" d208_162 ["char"])                                               let 'N' = xx207_163                                               return ()                                               d210_164 <- get-                                              xx209_165 <- StateT derivsChars+                                              xx209_165 <- StateT char                                               case xx209_165 of                                                   'G' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'G'" "not match pattern: " "" d210_164 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'G'" "not match pattern: " "" d210_164 ["char"])                                               let 'G' = xx209_165                                               return ()                                               d212_166 <- get-                                              xx211_167 <- StateT derivsChars+                                              xx211_167 <- StateT char                                               case xx211_167 of                                                   'U' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'U'" "not match pattern: " "" d212_166 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'U'" "not match pattern: " "" d212_166 ["char"])                                               let 'U' = xx211_167                                               return ()                                               d214_168 <- get-                                              xx213_169 <- StateT derivsChars+                                              xx213_169 <- StateT char                                               case xx213_169 of                                                   'A' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'A'" "not match pattern: " "" d214_168 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'A'" "not match pattern: " "" d214_168 ["char"])                                               let 'A' = xx213_169                                               return ()                                               d216_170 <- get-                                              xx215_171 <- StateT derivsChars+                                              xx215_171 <- StateT char                                               case xx215_171 of                                                   'G' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'G'" "not match pattern: " "" d216_170 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'G'" "not match pattern: " "" d216_170 ["char"])                                               let 'G' = xx215_171                                               return ()                                               d218_172 <- get-                                              xx217_173 <- StateT derivsChars+                                              xx217_173 <- StateT char                                               case xx217_173 of                                                   'E' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'E'" "not match pattern: " "" d218_172 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'E'" "not match pattern: " "" d218_172 ["char"])                                               let 'E' = xx217_173                                               return ()                                               _ <- StateT spaces@@ -406,24 +406,24 @@                                               return ()                                               return (LanguagePragma s),                                            do d228_174 <- get-                                              xx227_175 <- StateT derivsChars+                                              xx227_175 <- StateT char                                               case xx227_175 of                                                   '{' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d228_174 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d228_174 ["char"])                                               let '{' = xx227_175                                               return ()                                               d230_176 <- get-                                              xx229_177 <- StateT derivsChars+                                              xx229_177 <- StateT char                                               case xx229_177 of                                                   '-' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d230_176 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d230_176 ["char"])                                               let '-' = xx229_177                                               return ()                                               d232_178 <- get-                                              xx231_179 <- StateT derivsChars+                                              xx231_179 <- StateT char                                               case xx231_179 of                                                   '#' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d232_178 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d232_178 ["char"])                                               let '#' = xx231_179                                               return ()                                               _ <- StateT spaces@@ -435,18 +435,18 @@                 pragmaStr7_74 = foldl1 mplus [do ddd239_180 <- get                                                  do err <- ((do _ <- StateT pragmaEnd                                                                 return ()) >> return False) `catchError` const (return True)-                                                    unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:pragmaEnd") "not match: " "" ddd239_180 ["pragmaEnd"]))+                                                    unless err (gets position >>= (throwError . mkParseError ('!' : "_:pragmaEnd") "not match: " "" ddd239_180 ["pragmaEnd"]))                                                  put ddd239_180-                                                 c <- StateT derivsChars+                                                 c <- StateT char                                                  s <- StateT pragmaStr                                                  return (c : s),                                               return ""]                 pragmaItems8_75 = foldl1 mplus [do t <- StateT typToken                                                    d249_181 <- get-                                                   xx248_182 <- StateT derivsChars+                                                   xx248_182 <- StateT char                                                    case xx248_182 of                                                        ',' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "','" "not match pattern: " "" d249_181 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "','" "not match pattern: " "" d249_181 ["char"])                                                    let ',' = xx248_182                                                    return ()                                                    _ <- StateT spaces@@ -458,67 +458,67 @@                 pragmaEnd9_76 = foldl1 mplus [do _ <- StateT spaces                                                  return ()                                                  d259_183 <- get-                                                 xx258_184 <- StateT derivsChars+                                                 xx258_184 <- StateT char                                                  case xx258_184 of                                                      '#' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d259_183 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d259_183 ["char"])                                                  let '#' = xx258_184                                                  return ()                                                  d261_185 <- get-                                                 xx260_186 <- StateT derivsChars+                                                 xx260_186 <- StateT char                                                  case xx260_186 of                                                      '-' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d261_185 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d261_185 ["char"])                                                  let '-' = xx260_186                                                  return ()                                                  d263_187 <- get-                                                 xx262_188 <- StateT derivsChars+                                                 xx262_188 <- StateT char                                                  case xx262_188 of                                                      '}' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d263_187 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d263_187 ["char"])                                                  let '}' = xx262_188                                                  return ()                                                  return ()]                 moduleDec10_77 = foldl1 mplus [do d265_189 <- get-                                                  xx264_190 <- StateT derivsChars+                                                  xx264_190 <- StateT char                                                   case xx264_190 of                                                       'm' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'m'" "not match pattern: " "" d265_189 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'m'" "not match pattern: " "" d265_189 ["char"])                                                   let 'm' = xx264_190                                                   return ()                                                   d267_191 <- get-                                                  xx266_192 <- StateT derivsChars+                                                  xx266_192 <- StateT char                                                   case xx266_192 of                                                       'o' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'o'" "not match pattern: " "" d267_191 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'o'" "not match pattern: " "" d267_191 ["char"])                                                   let 'o' = xx266_192                                                   return ()                                                   d269_193 <- get-                                                  xx268_194 <- StateT derivsChars+                                                  xx268_194 <- StateT char                                                   case xx268_194 of                                                       'd' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'d'" "not match pattern: " "" d269_193 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'d'" "not match pattern: " "" d269_193 ["char"])                                                   let 'd' = xx268_194                                                   return ()                                                   d271_195 <- get-                                                  xx270_196 <- StateT derivsChars+                                                  xx270_196 <- StateT char                                                   case xx270_196 of                                                       'u' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'u'" "not match pattern: " "" d271_195 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'u'" "not match pattern: " "" d271_195 ["char"])                                                   let 'u' = xx270_196                                                   return ()                                                   d273_197 <- get-                                                  xx272_198 <- StateT derivsChars+                                                  xx272_198 <- StateT char                                                   case xx272_198 of                                                       'l' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d273_197 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d273_197 ["char"])                                                   let 'l' = xx272_198                                                   return ()                                                   d275_199 <- get-                                                  xx274_200 <- StateT derivsChars+                                                  xx274_200 <- StateT char                                                   case xx274_200 of                                                       'e' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d275_199 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d275_199 ["char"])                                                   let 'e' = xx274_200                                                   return ()                                                   _ <- StateT spaces@@ -527,10 +527,10 @@                                                   _ <- StateT spaces                                                   return ()                                                   d283_201 <- get-                                                  xx282_202 <- StateT derivsChars+                                                  xx282_202 <- StateT char                                                   case xx282_202 of                                                       '(' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d283_201 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d283_201 ["char"])                                                   let '(' = xx282_202                                                   return ()                                                   _ <- StateT spaces@@ -540,45 +540,45 @@                                                   return ()                                                   return (Just (n, Just s)),                                                do d291_203 <- get-                                                  xx290_204 <- StateT derivsChars+                                                  xx290_204 <- StateT char                                                   case xx290_204 of                                                       'm' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'m'" "not match pattern: " "" d291_203 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'m'" "not match pattern: " "" d291_203 ["char"])                                                   let 'm' = xx290_204                                                   return ()                                                   d293_205 <- get-                                                  xx292_206 <- StateT derivsChars+                                                  xx292_206 <- StateT char                                                   case xx292_206 of                                                       'o' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'o'" "not match pattern: " "" d293_205 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'o'" "not match pattern: " "" d293_205 ["char"])                                                   let 'o' = xx292_206                                                   return ()                                                   d295_207 <- get-                                                  xx294_208 <- StateT derivsChars+                                                  xx294_208 <- StateT char                                                   case xx294_208 of                                                       'd' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'d'" "not match pattern: " "" d295_207 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'d'" "not match pattern: " "" d295_207 ["char"])                                                   let 'd' = xx294_208                                                   return ()                                                   d297_209 <- get-                                                  xx296_210 <- StateT derivsChars+                                                  xx296_210 <- StateT char                                                   case xx296_210 of                                                       'u' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'u'" "not match pattern: " "" d297_209 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'u'" "not match pattern: " "" d297_209 ["char"])                                                   let 'u' = xx296_210                                                   return ()                                                   d299_211 <- get-                                                  xx298_212 <- StateT derivsChars+                                                  xx298_212 <- StateT char                                                   case xx298_212 of                                                       'l' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d299_211 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d299_211 ["char"])                                                   let 'l' = xx298_212                                                   return ()                                                   d301_213 <- get-                                                  xx300_214 <- StateT derivsChars+                                                  xx300_214 <- StateT char                                                   case xx300_214 of                                                       'e' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d301_213 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d301_213 ["char"])                                                   let 'e' = xx300_214                                                   return ()                                                   _ <- StateT spaces@@ -587,38 +587,38 @@                                                   _ <- StateT spaces                                                   return ()                                                   d309_215 <- get-                                                  xx308_216 <- StateT derivsChars+                                                  xx308_216 <- StateT char                                                   case xx308_216 of                                                       'w' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'w'" "not match pattern: " "" d309_215 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'w'" "not match pattern: " "" d309_215 ["char"])                                                   let 'w' = xx308_216                                                   return ()                                                   d311_217 <- get-                                                  xx310_218 <- StateT derivsChars+                                                  xx310_218 <- StateT char                                                   case xx310_218 of                                                       'h' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'h'" "not match pattern: " "" d311_217 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'h'" "not match pattern: " "" d311_217 ["char"])                                                   let 'h' = xx310_218                                                   return ()                                                   d313_219 <- get-                                                  xx312_220 <- StateT derivsChars+                                                  xx312_220 <- StateT char                                                   case xx312_220 of                                                       'e' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d313_219 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d313_219 ["char"])                                                   let 'e' = xx312_220                                                   return ()                                                   d315_221 <- get-                                                  xx314_222 <- StateT derivsChars+                                                  xx314_222 <- StateT char                                                   case xx314_222 of                                                       'r' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'r'" "not match pattern: " "" d315_221 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'r'" "not match pattern: " "" d315_221 ["char"])                                                   let 'r' = xx314_222                                                   return ()                                                   d317_223 <- get-                                                  xx316_224 <- StateT derivsChars+                                                  xx316_224 <- StateT char                                                   case xx316_224 of                                                       'e' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d317_223 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d317_223 ["char"])                                                   let 'e' = xx316_224                                                   return ()                                                   _ <- StateT spaces@@ -627,10 +627,10 @@                                                return Nothing]                 moduleName11_78 = foldl1 mplus [do t <- StateT typ                                                    d323_225 <- get-                                                   xx322_226 <- StateT derivsChars+                                                   xx322_226 <- StateT char                                                    case xx322_226 of                                                        '.' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "'.'" "not match pattern: " "" d323_225 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "'.'" "not match pattern: " "" d323_225 ["char"])                                                    let '.' = xx322_226                                                    return ()                                                    n <- StateT moduleName@@ -640,83 +640,83 @@                 moduleDecStr12_79 = foldl1 mplus [do ddd328_227 <- get                                                      do err <- ((do _ <- StateT whr                                                                     return ()) >> return False) `catchError` const (return True)-                                                        unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:whr") "not match: " "" ddd328_227 ["whr"]))+                                                        unless err (gets position >>= (throwError . mkParseError ('!' : "_:whr") "not match: " "" ddd328_227 ["whr"]))                                                      put ddd328_227-                                                     c <- StateT derivsChars+                                                     c <- StateT char                                                      s <- StateT moduleDecStr                                                      return (c : s),                                                   return ""]                 whr13_80 = foldl1 mplus [do _ <- StateT spaces                                             return ()                                             d338_228 <- get-                                            xx337_229 <- StateT derivsChars+                                            xx337_229 <- StateT char                                             case xx337_229 of                                                 ')' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d338_228 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d338_228 ["char"])                                             let ')' = xx337_229                                             return ()                                             _ <- StateT spaces                                             return ()                                             d342_230 <- get-                                            xx341_231 <- StateT derivsChars+                                            xx341_231 <- StateT char                                             case xx341_231 of                                                 'w' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'w'" "not match pattern: " "" d342_230 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'w'" "not match pattern: " "" d342_230 ["char"])                                             let 'w' = xx341_231                                             return ()                                             d344_232 <- get-                                            xx343_233 <- StateT derivsChars+                                            xx343_233 <- StateT char                                             case xx343_233 of                                                 'h' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'h'" "not match pattern: " "" d344_232 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'h'" "not match pattern: " "" d344_232 ["char"])                                             let 'h' = xx343_233                                             return ()                                             d346_234 <- get-                                            xx345_235 <- StateT derivsChars+                                            xx345_235 <- StateT char                                             case xx345_235 of                                                 'e' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d346_234 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d346_234 ["char"])                                             let 'e' = xx345_235                                             return ()                                             d348_236 <- get-                                            xx347_237 <- StateT derivsChars+                                            xx347_237 <- StateT char                                             case xx347_237 of                                                 'r' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'r'" "not match pattern: " "" d348_236 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'r'" "not match pattern: " "" d348_236 ["char"])                                             let 'r' = xx347_237                                             return ()                                             d350_238 <- get-                                            xx349_239 <- StateT derivsChars+                                            xx349_239 <- StateT char                                             case xx349_239 of                                                 'e' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'e'" "not match pattern: " "" d350_238 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'e'" "not match pattern: " "" d350_238 ["char"])                                             let 'e' = xx349_239                                             return ()                                             return ()]                 preImpPap14_81 = foldl1 mplus [do ddd351_240 <- get                                                   do err <- ((do _ <- StateT importPapillon                                                                  return ()) >> return False) `catchError` const (return True)-                                                     unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:importPapillon") "not match: " "" ddd351_240 ["importPapillon"]))+                                                     unless err (gets position >>= (throwError . mkParseError ('!' : "_:importPapillon") "not match: " "" ddd351_240 ["importPapillon"]))                                                   put ddd351_240                                                   ddd354_241 <- get                                                   do err <- ((do _ <- StateT pap                                                                  return ()) >> return False) `catchError` const (return True)-                                                     unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd354_241 ["pap"]))+                                                     unless err (gets position >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd354_241 ["pap"]))                                                   put ddd354_241-                                                  c <- StateT derivsChars+                                                  c <- StateT char                                                   pip <- StateT preImpPap                                                   return (cons c pip),                                                return emp]                 prePeg15_82 = foldl1 mplus [do ddd361_242 <- get                                                do err <- ((do _ <- StateT pap                                                               return ()) >> return False) `catchError` const (return True)-                                                  unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd361_242 ["pap"]))+                                                  unless err (gets position >>= (throwError . mkParseError ('!' : "_:pap") "not match: " "" ddd361_242 ["pap"]))                                                put ddd361_242-                                               c <- StateT derivsChars+                                               c <- StateT char                                                pp <- StateT prePeg                                                return (cons c pp),                                             return emp]-                afterPeg16_83 = foldl1 mplus [do c <- StateT derivsChars+                afterPeg16_83 = foldl1 mplus [do c <- StateT char                                                  atp <- StateT afterPeg                                                  return (cons c atp),                                               return emp]@@ -724,21 +724,21 @@                                                        xx372_244 <- StateT varToken                                                        case xx372_244 of                                                            "import" -> return ()-                                                           _ -> gets derivsPosition >>= (throwError . mkParseError "\"import\"" "not match pattern: " "" d373_243 ["varToken"])+                                                           _ -> gets position >>= (throwError . mkParseError "\"import\"" "not match pattern: " "" d373_243 ["varToken"])                                                        let "import" = xx372_244                                                        return ()                                                        d375_245 <- get                                                        xx374_246 <- StateT typToken                                                        case xx374_246 of                                                            "Text" -> return ()-                                                           _ -> gets derivsPosition >>= (throwError . mkParseError "\"Text\"" "not match pattern: " "" d375_245 ["typToken"])+                                                           _ -> gets position >>= (throwError . mkParseError "\"Text\"" "not match pattern: " "" d375_245 ["typToken"])                                                        let "Text" = xx374_246                                                        return ()                                                        d377_247 <- get-                                                       xx376_248 <- StateT derivsChars+                                                       xx376_248 <- StateT char                                                        case xx376_248 of                                                            '.' -> return ()-                                                           _ -> gets derivsPosition >>= (throwError . mkParseError "'.'" "not match pattern: " "" d377_247 ["derivsChars"])+                                                           _ -> gets position >>= (throwError . mkParseError "'.'" "not match pattern: " "" d377_247 ["char"])                                                        let '.' = xx376_248                                                        return ()                                                        _ <- StateT spaces@@ -747,18 +747,18 @@                                                        xx380_250 <- StateT typToken                                                        case xx380_250 of                                                            "Papillon" -> return ()-                                                           _ -> gets derivsPosition >>= (throwError . mkParseError "\"Papillon\"" "not match pattern: " "" d381_249 ["typToken"])+                                                           _ -> gets position >>= (throwError . mkParseError "\"Papillon\"" "not match pattern: " "" d381_249 ["typToken"])                                                        let "Papillon" = xx380_250                                                        return ()                                                        ddd382_251 <- get                                                        do err <- ((do d384_252 <- get-                                                                      xx383_253 <- StateT derivsChars+                                                                      xx383_253 <- StateT char                                                                       case xx383_253 of                                                                           '.' -> return ()-                                                                          _ -> gets derivsPosition >>= (throwError . mkParseError "'.'" "not match pattern: " "" d384_252 ["derivsChars"])+                                                                          _ -> gets position >>= (throwError . mkParseError "'.'" "not match pattern: " "" d384_252 ["char"])                                                                       let '.' = xx383_253                                                                       return ()) >> return False) `catchError` const (return True)-                                                          unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "'.':") "not match: " "" ddd382_251 ["derivsChars"]))+                                                          unless err (gets position >>= (throwError . mkParseError ('!' : "'.':") "not match: " "" ddd382_251 ["char"]))                                                        put ddd382_251                                                        return ()]                 varToken18_85 = foldl1 mplus [do v <- StateT variable@@ -770,87 +770,87 @@                                                  return ()                                                  return t]                 pap20_87 = foldl1 mplus [do d394_254 <- get-                                            xx393_255 <- StateT derivsChars+                                            xx393_255 <- StateT char                                             case xx393_255 of                                                 '\n' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d394_254 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d394_254 ["char"])                                             let '\n' = xx393_255                                             return ()                                             d396_256 <- get-                                            xx395_257 <- StateT derivsChars+                                            xx395_257 <- StateT char                                             case xx395_257 of                                                 '[' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d396_256 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d396_256 ["char"])                                             let '[' = xx395_257                                             return ()                                             d398_258 <- get-                                            xx397_259 <- StateT derivsChars+                                            xx397_259 <- StateT char                                             case xx397_259 of                                                 'p' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'p'" "not match pattern: " "" d398_258 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'p'" "not match pattern: " "" d398_258 ["char"])                                             let 'p' = xx397_259                                             return ()                                             d400_260 <- get-                                            xx399_261 <- StateT derivsChars+                                            xx399_261 <- StateT char                                             case xx399_261 of                                                 'a' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'a'" "not match pattern: " "" d400_260 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'a'" "not match pattern: " "" d400_260 ["char"])                                             let 'a' = xx399_261                                             return ()                                             d402_262 <- get-                                            xx401_263 <- StateT derivsChars+                                            xx401_263 <- StateT char                                             case xx401_263 of                                                 'p' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'p'" "not match pattern: " "" d402_262 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'p'" "not match pattern: " "" d402_262 ["char"])                                             let 'p' = xx401_263                                             return ()                                             d404_264 <- get-                                            xx403_265 <- StateT derivsChars+                                            xx403_265 <- StateT char                                             case xx403_265 of                                                 'i' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'i'" "not match pattern: " "" d404_264 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'i'" "not match pattern: " "" d404_264 ["char"])                                             let 'i' = xx403_265                                             return ()                                             d406_266 <- get-                                            xx405_267 <- StateT derivsChars+                                            xx405_267 <- StateT char                                             case xx405_267 of                                                 'l' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d406_266 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d406_266 ["char"])                                             let 'l' = xx405_267                                             return ()                                             d408_268 <- get-                                            xx407_269 <- StateT derivsChars+                                            xx407_269 <- StateT char                                             case xx407_269 of                                                 'l' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'l'" "not match pattern: " "" d408_268 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'l'" "not match pattern: " "" d408_268 ["char"])                                             let 'l' = xx407_269                                             return ()                                             d410_270 <- get-                                            xx409_271 <- StateT derivsChars+                                            xx409_271 <- StateT char                                             case xx409_271 of                                                 'o' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'o'" "not match pattern: " "" d410_270 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'o'" "not match pattern: " "" d410_270 ["char"])                                             let 'o' = xx409_271                                             return ()                                             d412_272 <- get-                                            xx411_273 <- StateT derivsChars+                                            xx411_273 <- StateT char                                             case xx411_273 of                                                 'n' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'n'" "not match pattern: " "" d412_272 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'n'" "not match pattern: " "" d412_272 ["char"])                                             let 'n' = xx411_273                                             return ()                                             d414_274 <- get-                                            xx413_275 <- StateT derivsChars+                                            xx413_275 <- StateT char                                             case xx413_275 of                                                 '|' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'|'" "not match pattern: " "" d414_274 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'|'" "not match pattern: " "" d414_274 ["char"])                                             let '|' = xx413_275                                             return ()                                             d416_276 <- get-                                            xx415_277 <- StateT derivsChars+                                            xx415_277 <- StateT char                                             case xx415_277 of                                                 '\n' -> return ()-                                                _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d416_276 ["derivsChars"])+                                                _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d416_276 ["char"])                                             let '\n' = xx415_277                                             return ()                                             return ()]@@ -865,14 +865,14 @@                                                    xx425_279 <- StateT varToken                                                    case xx425_279 of                                                        "source" -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "\"source\"" "not match pattern: " "" d426_278 ["varToken"])+                                                       _ -> gets position >>= (throwError . mkParseError "\"source\"" "not match pattern: " "" d426_278 ["varToken"])                                                    let "source" = xx425_279                                                    return ()                                                    d428_280 <- get-                                                   xx427_281 <- StateT derivsChars+                                                   xx427_281 <- StateT char                                                    case xx427_281 of                                                        ':' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d428_280 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d428_280 ["char"])                                                    let ':' = xx427_281                                                    return ()                                                    _ <- StateT spaces@@ -889,17 +889,17 @@                                                    _ <- StateT spaces                                                    return ()                                                    d444_282 <- get-                                                   xx443_283 <- StateT derivsChars+                                                   xx443_283 <- StateT char                                                    case xx443_283 of                                                        ':' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d444_282 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d444_282 ["char"])                                                    let ':' = xx443_283                                                    return ()                                                    d446_284 <- get-                                                   xx445_285 <- StateT derivsChars+                                                   xx445_285 <- StateT char                                                    case xx445_285 of                                                        ':' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d446_284 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d446_284 ["char"])                                                    let ':' = xx445_285                                                    return ()                                                    _ <- StateT spaces@@ -908,10 +908,10 @@                                                    _ <- StateT spaces                                                    return ()                                                    d454_286 <- get-                                                   xx453_287 <- StateT derivsChars+                                                   xx453_287 <- StateT char                                                    case xx453_287 of                                                        '=' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "'='" "not match pattern: " "" d454_286 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "'='" "not match pattern: " "" d454_286 ["char"])                                                    let '=' = xx453_287                                                    return ()                                                    _ <- StateT spaces@@ -920,10 +920,10 @@                                                    _ <- StateT spaces                                                    return ()                                                    d462_288 <- get-                                                   xx461_289 <- StateT derivsChars+                                                   xx461_289 <- StateT char                                                    case xx461_289 of                                                        ';' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "';'" "not match pattern: " "" d462_288 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "';'" "not match pattern: " "" d462_288 ["char"])                                                    let ';' = xx461_289                                                    return ()                                                    return (mkDef v t sel)]@@ -931,10 +931,10 @@                                                   _ <- StateT spaces                                                   return ()                                                   d468_290 <- get-                                                  xx467_291 <- StateT derivsChars+                                                  xx467_291 <- StateT char                                                   case xx467_291 of                                                       '/' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'/'" "not match pattern: " "" d468_290 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'/'" "not match pattern: " "" d468_290 ["char"])                                                   let '/' = xx467_291                                                   return ()                                                   _ <- StateT spaces@@ -947,10 +947,10 @@                                                      _ <- StateT spaces                                                      return ()                                                      d480_292 <- get-                                                     xx479_293 <- StateT derivsChars+                                                     xx479_293 <- StateT char                                                      case xx479_293 of                                                          '{' -> return ()-                                                         _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d480_292 ["derivsChars"])+                                                         _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d480_292 ["char"])                                                      let '{' = xx479_293                                                      return ()                                                      _ <- StateT spaces@@ -959,10 +959,10 @@                                                      _ <- StateT spaces                                                      return ()                                                      d488_294 <- get-                                                     xx487_295 <- StateT derivsChars+                                                     xx487_295 <- StateT char                                                      case xx487_295 of                                                          '}' -> return ()-                                                         _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d488_294 ["derivsChars"])+                                                         _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d488_294 ["char"])                                                      let '}' = xx487_295                                                      return ()                                                      return (mkExpressionHs e h)]@@ -973,10 +973,10 @@                                                    return (cons l e),                                                 return emp]                 nameLeaf_28_95 = foldl1 mplus [do d496_296 <- get-                                                  xx495_297 <- StateT derivsChars+                                                  xx495_297 <- StateT char                                                   case xx495_297 of                                                       '!' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'!'" "not match pattern: " "" d496_296 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'!'" "not match pattern: " "" d496_296 ["char"])                                                   let '!' = xx495_297                                                   return ()                                                   nl <- StateT nameLeafNoCom@@ -985,9 +985,9 @@                                                   com <- optional3_298 (StateT comForErr)                                                   return (NotAfter nl $ maybe "" id com),                                                do d504_299 <- get-                                                  xx503_300 <- StateT derivsChars+                                                  xx503_300 <- StateT char                                                   let c = xx503_300-                                                  unless (isAmp c) (gets derivsPosition >>= (throwError . mkParseError "isAmp c" "not match: " "" d504_299 ["derivsChars"]))+                                                  unless (isAmp c) (gets position >>= (throwError . mkParseError "isAmp c" "not match: " "" d504_299 ["char"]))                                                   nl <- StateT nameLeaf                                                   return (After nl),                                                do nl <- StateT nameLeaf@@ -997,10 +997,10 @@                                                  return ()                                                  com <- optional3_298 (StateT comForErr)                                                  d516_301 <- get-                                                 xx515_302 <- StateT derivsChars+                                                 xx515_302 <- StateT char                                                  case xx515_302 of                                                      ':' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d516_301 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d516_301 ["char"])                                                  let ':' = xx515_302                                                  return ()                                                  (rf, p) <- StateT leaf@@ -1016,10 +1016,10 @@                                                       return ()                                                       com <- optional3_298 (StateT comForErr)                                                       d532_303 <- get-                                                      xx531_304 <- StateT derivsChars+                                                      xx531_304 <- StateT char                                                       case xx531_304 of                                                           ':' -> return ()-                                                          _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d532_303 ["derivsChars"])+                                                          _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d532_303 ["char"])                                                       let ':' = xx531_304                                                       return ()                                                       (rf, p) <- StateT leaf@@ -1029,64 +1029,64 @@                                                       return ()                                                       return (NameLeaf (n, "") FromToken Nothing)]                 comForErr31_98 = foldl1 mplus [do d540_305 <- get-                                                  xx539_306 <- StateT derivsChars+                                                  xx539_306 <- StateT char                                                   case xx539_306 of                                                       '{' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d540_305 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d540_305 ["char"])                                                   let '{' = xx539_306                                                   return ()                                                   d542_307 <- get-                                                  xx541_308 <- StateT derivsChars+                                                  xx541_308 <- StateT char                                                   case xx541_308 of                                                       '-' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d542_307 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d542_307 ["char"])                                                   let '-' = xx541_308                                                   return ()                                                   d544_309 <- get-                                                  xx543_310 <- StateT derivsChars+                                                  xx543_310 <- StateT char                                                   case xx543_310 of                                                       '#' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d544_309 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d544_309 ["char"])                                                   let '#' = xx543_310                                                   return ()                                                   _ <- StateT spaces                                                   return ()                                                   d548_311 <- get-                                                  xx547_312 <- StateT derivsChars+                                                  xx547_312 <- StateT char                                                   case xx547_312 of                                                       '"' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d548_311 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d548_311 ["char"])                                                   let '"' = xx547_312                                                   return ()                                                   s <- StateT stringLit                                                   d552_313 <- get-                                                  xx551_314 <- StateT derivsChars+                                                  xx551_314 <- StateT char                                                   case xx551_314 of                                                       '"' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d552_313 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d552_313 ["char"])                                                   let '"' = xx551_314                                                   return ()                                                   _ <- StateT spaces                                                   return ()                                                   d556_315 <- get-                                                  xx555_316 <- StateT derivsChars+                                                  xx555_316 <- StateT char                                                   case xx555_316 of                                                       '#' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d556_315 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d556_315 ["char"])                                                   let '#' = xx555_316                                                   return ()                                                   d558_317 <- get-                                                  xx557_318 <- StateT derivsChars+                                                  xx557_318 <- StateT char                                                   case xx557_318 of                                                       '-' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d558_317 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d558_317 ["char"])                                                   let '-' = xx557_318                                                   return ()                                                   d560_319 <- get-                                                  xx559_320 <- StateT derivsChars+                                                  xx559_320 <- StateT char                                                   case xx559_320 of                                                       '}' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d560_319 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d560_319 ["char"])                                                   let '}' = xx559_320                                                   return ()                                                   _ <- StateT spaces@@ -1107,14 +1107,14 @@                                                _ <- StateT spaces                                                return ()                                                d582_321 <- get-                                               xx581_322 <- StateT derivsChars+                                               xx581_322 <- StateT char                                                let q = xx581_322-                                               unless (isBQ q) (gets derivsPosition >>= (throwError . mkParseError "isBQ q" "not match: " "" d582_321 ["derivsChars"]))+                                               unless (isBQ q) (gets position >>= (throwError . mkParseError "isBQ q" "not match: " "" d582_321 ["char"]))                                                t <- StateT typ                                                d586_323 <- get-                                               xx585_324 <- StateT derivsChars+                                               xx585_324 <- StateT char                                                let q_ = xx585_324-                                               unless (isBQ q_) (gets derivsPosition >>= (throwError . mkParseError "isBQ q_" "not match: " "" d586_323 ["derivsChars"]))+                                               unless (isBQ q_) (gets position >>= (throwError . mkParseError "isBQ q_" "not match: " "" d586_323 ["char"]))                                                _ <- StateT spaces                                                return ()                                                po <- StateT patOp@@ -1127,18 +1127,18 @@                                              ps <- StateT pats                                              return (conToPatQ t ps),                                           do d600_325 <- get-                                             xx599_326 <- StateT derivsChars+                                             xx599_326 <- StateT char                                              case xx599_326 of                                                  '(' -> return ()-                                                 _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d600_325 ["derivsChars"])+                                                 _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d600_325 ["char"])                                              let '(' = xx599_326                                              return ()                                              o <- StateT opConName                                              d604_327 <- get-                                             xx603_328 <- StateT derivsChars+                                             xx603_328 <- StateT char                                              case xx603_328 of                                                  ')' -> return ()-                                                 _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d604_327 ["derivsChars"])+                                                 _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d604_327 ["char"])                                              let ')' = xx603_328                                              return ()                                              _ <- StateT spaces@@ -1153,7 +1153,7 @@                                               xx613_330 <- StateT variable                                               case xx613_330 of                                                   "_" -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "\"_\"" "not match pattern: " "" d614_329 ["variable"])+                                                  _ -> gets position >>= (throwError . mkParseError "\"_\"" "not match pattern: " "" d614_329 ["variable"])                                               let "_" = xx613_330                                               return ()                                               return wildP,@@ -1162,10 +1162,10 @@                                            do i <- StateT integer                                               return (litP (integerL i)),                                            do d620_331 <- get-                                              xx619_332 <- StateT derivsChars+                                              xx619_332 <- StateT char                                               case xx619_332 of                                                   '-' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d620_331 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d620_331 ["char"])                                               let '-' = xx619_332                                               return ()                                               _ <- StateT spaces@@ -1173,66 +1173,66 @@                                               i <- StateT integer                                               return (litP (integerL $ negate i)),                                            do d626_333 <- get-                                              xx625_334 <- StateT derivsChars+                                              xx625_334 <- StateT char                                               case xx625_334 of                                                   '\'' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d626_333 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d626_333 ["char"])                                               let '\'' = xx625_334                                               return ()                                               c <- StateT charLit                                               d630_335 <- get-                                              xx629_336 <- StateT derivsChars+                                              xx629_336 <- StateT char                                               case xx629_336 of                                                   '\'' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d630_335 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d630_335 ["char"])                                               let '\'' = xx629_336                                               return ()                                               return (charP c),                                            do d632_337 <- get-                                              xx631_338 <- StateT derivsChars+                                              xx631_338 <- StateT char                                               case xx631_338 of                                                   '"' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d632_337 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d632_337 ["char"])                                               let '"' = xx631_338                                               return ()                                               s <- StateT stringLit                                               d636_339 <- get-                                              xx635_340 <- StateT derivsChars+                                              xx635_340 <- StateT char                                               case xx635_340 of                                                   '"' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d636_339 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d636_339 ["char"])                                               let '"' = xx635_340                                               return ()                                               return (stringP s),                                            do d638_341 <- get-                                              xx637_342 <- StateT derivsChars+                                              xx637_342 <- StateT char                                               case xx637_342 of                                                   '(' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d638_341 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d638_341 ["char"])                                               let '(' = xx637_342                                               return ()                                               p <- StateT patList                                               d642_343 <- get-                                              xx641_344 <- StateT derivsChars+                                              xx641_344 <- StateT char                                               case xx641_344 of                                                   ')' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d642_343 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d642_343 ["char"])                                               let ')' = xx641_344                                               return ()                                               return (tupP p),                                            do d644_345 <- get-                                              xx643_346 <- StateT derivsChars+                                              xx643_346 <- StateT char                                               case xx643_346 of                                                   '[' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d644_345 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d644_345 ["char"])                                               let '[' = xx643_346                                               return ()                                               p <- StateT patList                                               d648_347 <- get-                                              xx647_348 <- StateT derivsChars+                                              xx647_348 <- StateT char                                               case xx647_348 of                                                   ']' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d648_347 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d648_347 ["char"])                                               let ']' = xx647_348                                               return ()                                               return (listP p)]@@ -1240,10 +1240,10 @@                                                  _ <- StateT spaces                                                  return ()                                                  d654_349 <- get-                                                 xx653_350 <- StateT derivsChars+                                                 xx653_350 <- StateT char                                                  case xx653_350 of                                                      ',' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "','" "not match pattern: " "" d654_349 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "','" "not match pattern: " "" d654_349 ["char"])                                                  let ',' = xx653_350                                                  return ()                                                  _ <- StateT spaces@@ -1254,39 +1254,39 @@                                                  return [p],                                               return []]                 opConName37_104 = foldl1 mplus [do d662_351 <- get-                                                   xx661_352 <- StateT derivsChars+                                                   xx661_352 <- StateT char                                                    case xx661_352 of                                                        ':' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d662_351 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d662_351 ["char"])                                                    let ':' = xx661_352                                                    return ()                                                    ot <- StateT opTail                                                    return (mkName $ colon : ot)]                 charLit38_105 = foldl1 mplus [do d666_353 <- get-                                                 xx665_354 <- StateT derivsChars+                                                 xx665_354 <- StateT char                                                  let c = xx665_354-                                                 unless (isAlphaNumOt c) (gets derivsPosition >>= (throwError . mkParseError "isAlphaNumOt c" "not match: " "" d666_353 ["derivsChars"]))+                                                 unless (isAlphaNumOt c) (gets position >>= (throwError . mkParseError "isAlphaNumOt c" "not match: " "" d666_353 ["char"]))                                                  return c,                                               do d668_355 <- get-                                                 xx667_356 <- StateT derivsChars+                                                 xx667_356 <- StateT char                                                  case xx667_356 of                                                      '\\' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d668_355 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d668_355 ["char"])                                                  let '\\' = xx667_356                                                  return ()                                                  c <- StateT escapeC                                                  return c]                 stringLit39_106 = foldl1 mplus [do d672_357 <- get-                                                   xx671_358 <- StateT derivsChars+                                                   xx671_358 <- StateT char                                                    let c = xx671_358-                                                   unless (isStrLitC c) (gets derivsPosition >>= (throwError . mkParseError "isStrLitC c" "not match: " "" d672_357 ["derivsChars"]))+                                                   unless (isStrLitC c) (gets position >>= (throwError . mkParseError "isStrLitC c" "not match: " "" d672_357 ["char"]))                                                    s <- StateT stringLit                                                    return (cons c s),                                                 do d676_359 <- get-                                                   xx675_360 <- StateT derivsChars+                                                   xx675_360 <- StateT char                                                    case xx675_360 of                                                        '\\' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d676_359 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d676_359 ["char"])                                                    let '\\' = xx675_360                                                    return ()                                                    c <- StateT escapeC@@ -1294,42 +1294,42 @@                                                    return (c : s),                                                 return emp]                 escapeC40_107 = foldl1 mplus [do d682_361 <- get-                                                 xx681_362 <- StateT derivsChars+                                                 xx681_362 <- StateT char                                                  case xx681_362 of                                                      '"' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d682_361 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d682_361 ["char"])                                                  let '"' = xx681_362                                                  return ()                                                  return '"',                                               do d684_363 <- get-                                                 xx683_364 <- StateT derivsChars+                                                 xx683_364 <- StateT char                                                  case xx683_364 of                                                      '\'' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d684_363 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d684_363 ["char"])                                                  let '\'' = xx683_364                                                  return ()                                                  return '\'',                                               do d686_365 <- get-                                                 xx685_366 <- StateT derivsChars+                                                 xx685_366 <- StateT char                                                  case xx685_366 of                                                      '\\' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d686_365 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d686_365 ["char"])                                                  let '\\' = xx685_366                                                  return ()                                                  return '\\',                                               do d688_367 <- get-                                                 xx687_368 <- StateT derivsChars+                                                 xx687_368 <- StateT char                                                  case xx687_368 of                                                      'n' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'n'" "not match pattern: " "" d688_367 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'n'" "not match pattern: " "" d688_367 ["char"])                                                  let 'n' = xx687_368                                                  return ()                                                  return '\n',                                               do d690_369 <- get-                                                 xx689_370 <- StateT derivsChars+                                                 xx689_370 <- StateT char                                                  case xx689_370 of                                                      't' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'t'" "not match pattern: " "" d690_369 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'t'" "not match pattern: " "" d690_369 ["char"])                                                  let 't' = xx689_370                                                  return ()                                                  return tab]@@ -1341,28 +1341,28 @@                                            return emp]                 readFromLs42_109 = foldl1 mplus [do rf <- StateT readFrom                                                     d700_371 <- get-                                                    xx699_372 <- StateT derivsChars+                                                    xx699_372 <- StateT char                                                     case xx699_372 of                                                         '*' -> return ()-                                                        _ -> gets derivsPosition >>= (throwError . mkParseError "'*'" "not match pattern: " "" d700_371 ["derivsChars"])+                                                        _ -> gets position >>= (throwError . mkParseError "'*'" "not match pattern: " "" d700_371 ["char"])                                                     let '*' = xx699_372                                                     return ()                                                     return (FromList rf),                                                  do rf <- StateT readFrom                                                     d704_373 <- get-                                                    xx703_374 <- StateT derivsChars+                                                    xx703_374 <- StateT char                                                     case xx703_374 of                                                         '+' -> return ()-                                                        _ -> gets derivsPosition >>= (throwError . mkParseError "'+'" "not match pattern: " "" d704_373 ["derivsChars"])+                                                        _ -> gets position >>= (throwError . mkParseError "'+'" "not match pattern: " "" d704_373 ["char"])                                                     let '+' = xx703_374                                                     return ()                                                     return (FromList1 rf),                                                  do rf <- StateT readFrom                                                     d708_375 <- get-                                                    xx707_376 <- StateT derivsChars+                                                    xx707_376 <- StateT char                                                     case xx707_376 of                                                         '?' -> return ()-                                                        _ -> gets derivsPosition >>= (throwError . mkParseError "'?'" "not match pattern: " "" d708_375 ["derivsChars"])+                                                        _ -> gets position >>= (throwError . mkParseError "'?'" "not match pattern: " "" d708_375 ["char"])                                                     let '?' = xx707_376                                                     return ()                                                     return (FromOptional rf),@@ -1371,26 +1371,26 @@                 readFrom43_110 = foldl1 mplus [do v <- StateT variable                                                   return (FromVariable v),                                                do d714_377 <- get-                                                  xx713_378 <- StateT derivsChars+                                                  xx713_378 <- StateT char                                                   case xx713_378 of                                                       '(' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d714_377 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d714_377 ["char"])                                                   let '(' = xx713_378                                                   return ()                                                   s <- StateT selection                                                   d718_379 <- get-                                                  xx717_380 <- StateT derivsChars+                                                  xx717_380 <- StateT char                                                   case xx717_380 of                                                       ')' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d718_379 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d718_379 ["char"])                                                   let ')' = xx717_380                                                   return ()                                                   return (FromSelection s)]                 test44_111 = foldl1 mplus [do d720_381 <- get-                                              xx719_382 <- StateT derivsChars+                                              xx719_382 <- StateT char                                               case xx719_382 of                                                   '[' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d720_381 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d720_381 ["char"])                                               let '[' = xx719_382                                               return ()                                               h <- StateT hsExpLam@@ -1398,18 +1398,18 @@                                               return ()                                               com <- optional3_298 (StateT comForErr)                                               d728_383 <- get-                                              xx727_384 <- StateT derivsChars+                                              xx727_384 <- StateT char                                               case xx727_384 of                                                   ']' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d728_383 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d728_383 ["char"])                                               let ']' = xx727_384                                               return ()                                               return (h, maybe "" id com)]                 hsExpLam45_112 = foldl1 mplus [do d730_385 <- get-                                                  xx729_386 <- StateT derivsChars+                                                  xx729_386 <- StateT char                                                   case xx729_386 of                                                       '\\' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d730_385 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'\\\\'" "not match pattern: " "" d730_385 ["char"])                                                   let '\\' = xx729_386                                                   return ()                                                   _ <- StateT spaces@@ -1418,16 +1418,16 @@                                                   _ <- StateT spaces                                                   return ()                                                   d738_387 <- get-                                                  xx737_388 <- StateT derivsChars+                                                  xx737_388 <- StateT char                                                   case xx737_388 of                                                       '-' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d738_387 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d738_387 ["char"])                                                   let '-' = xx737_388                                                   return ()                                                   d740_389 <- get-                                                  xx739_390 <- StateT derivsChars+                                                  xx739_390 <- StateT char                                                   let c = xx739_390-                                                  unless (isGt c) (gets derivsPosition >>= (throwError . mkParseError "isGt c" "not match: " "" d740_389 ["derivsChars"]))+                                                  unless (isGt c) (gets position >>= (throwError . mkParseError "isGt c" "not match: " "" d740_389 ["char"]))                                                   _ <- StateT spaces                                                   return ()                                                   e <- StateT hsExpTyp@@ -1436,17 +1436,17 @@                                                   return e]                 hsExpTyp46_113 = foldl1 mplus [do eo <- StateT hsExpOp                                                   d750_391 <- get-                                                  xx749_392 <- StateT derivsChars+                                                  xx749_392 <- StateT char                                                   case xx749_392 of                                                       ':' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d750_391 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d750_391 ["char"])                                                   let ':' = xx749_392                                                   return ()                                                   d752_393 <- get-                                                  xx751_394 <- StateT derivsChars+                                                  xx751_394 <- StateT char                                                   case xx751_394 of                                                       ':' -> return ()-                                                      _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d752_393 ["derivsChars"])+                                                      _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d752_393 ["char"])                                                   let ':' = xx751_394                                                   return ()                                                   _ <- StateT spaces@@ -1466,54 +1466,54 @@                                               do e <- StateT hsExp                                                  return (getEx e)]                 hsOp48_115 = foldl1 mplus [do d772_395 <- get-                                              xx771_396 <- StateT derivsChars+                                              xx771_396 <- StateT char                                               let c = xx771_396-                                              unless (isOpHeadChar c) (gets derivsPosition >>= (throwError . mkParseError "isOpHeadChar c" "not match: " "" d772_395 ["derivsChars"]))+                                              unless (isOpHeadChar c) (gets position >>= (throwError . mkParseError "isOpHeadChar c" "not match: " "" d772_395 ["char"]))                                               o <- StateT opTail                                               return (varE (mkName (cons c o))),                                            do d776_397 <- get-                                              xx775_398 <- StateT derivsChars+                                              xx775_398 <- StateT char                                               case xx775_398 of                                                   ':' -> return ()-                                                  _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d776_397 ["derivsChars"])+                                                  _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d776_397 ["char"])                                               let ':' = xx775_398                                               return ()                                               ddd777_399 <- get                                               do err <- ((do d779_400 <- get-                                                             xx778_401 <- StateT derivsChars+                                                             xx778_401 <- StateT char                                                              case xx778_401 of                                                                  ':' -> return ()-                                                                 _ -> gets derivsPosition >>= (throwError . mkParseError "':'" "not match pattern: " "" d779_400 ["derivsChars"])+                                                                 _ -> gets position >>= (throwError . mkParseError "':'" "not match pattern: " "" d779_400 ["char"])                                                              let ':' = xx778_401                                                              return ()) >> return False) `catchError` const (return True)-                                                 unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "':':") "not match: " "" ddd777_399 ["derivsChars"]))+                                                 unless err (gets position >>= (throwError . mkParseError ('!' : "':':") "not match: " "" ddd777_399 ["char"]))                                               put ddd777_399                                               o <- StateT opTail                                               return (conE (mkName (':' : o))),                                            do d783_402 <- get-                                              xx782_403 <- StateT derivsChars+                                              xx782_403 <- StateT char                                               let c = xx782_403-                                              unless (isBQ c) (gets derivsPosition >>= (throwError . mkParseError "isBQ c" "not match: " "" d783_402 ["derivsChars"]))+                                              unless (isBQ c) (gets position >>= (throwError . mkParseError "isBQ c" "not match: " "" d783_402 ["char"]))                                               v <- StateT variable                                               d787_404 <- get-                                              xx786_405 <- StateT derivsChars+                                              xx786_405 <- StateT char                                               let c_ = xx786_405-                                              unless (isBQ c_) (gets derivsPosition >>= (throwError . mkParseError "isBQ c_" "not match: " "" d787_404 ["derivsChars"]))+                                              unless (isBQ c_) (gets position >>= (throwError . mkParseError "isBQ c_" "not match: " "" d787_404 ["char"]))                                               return (varE (mkName v)),                                            do d789_406 <- get-                                              xx788_407 <- StateT derivsChars+                                              xx788_407 <- StateT char                                               let c = xx788_407-                                              unless (isBQ c) (gets derivsPosition >>= (throwError . mkParseError "isBQ c" "not match: " "" d789_406 ["derivsChars"]))+                                              unless (isBQ c) (gets position >>= (throwError . mkParseError "isBQ c" "not match: " "" d789_406 ["char"]))                                               t <- StateT typ                                               d793_408 <- get-                                              xx792_409 <- StateT derivsChars+                                              xx792_409 <- StateT char                                               let c_ = xx792_409-                                              unless (isBQ c_) (gets derivsPosition >>= (throwError . mkParseError "isBQ c_" "not match: " "" d793_408 ["derivsChars"]))+                                              unless (isBQ c_) (gets position >>= (throwError . mkParseError "isBQ c_" "not match: " "" d793_408 ["char"]))                                               return (conE (mkName t))]                 opTail49_116 = foldl1 mplus [do d795_410 <- get-                                                xx794_411 <- StateT derivsChars+                                                xx794_411 <- StateT char                                                 let c = xx794_411-                                                unless (isOpTailChar c) (gets derivsPosition >>= (throwError . mkParseError "isOpTailChar c" "not match: " "" d795_410 ["derivsChars"]))+                                                unless (isOpTailChar c) (gets position >>= (throwError . mkParseError "isOpTailChar c" "not match: " "" d795_410 ["char"]))                                                 s <- StateT opTail                                                 return (cons c s),                                              return emp]@@ -1525,10 +1525,10 @@                                             do e <- StateT hsExp1                                                return (toEx e)]                 hsExp151_118 = foldl1 mplus [do d807_412 <- get-                                                xx806_413 <- StateT derivsChars+                                                xx806_413 <- StateT char                                                 case xx806_413 of                                                     '(' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d807_412 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d807_412 ["char"])                                                 let '(' = xx806_413                                                 return ()                                                 l <- optional3_298 (foldl1 mplus [do e <- StateT hsExpTyp@@ -1541,42 +1541,42 @@                                                 r <- optional3_298 (foldl1 mplus [do e <- StateT hsExpTyp                                                                                      return e])                                                 d823_414 <- get-                                                xx822_415 <- StateT derivsChars+                                                xx822_415 <- StateT char                                                 case xx822_415 of                                                     ')' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d823_414 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d823_414 ["char"])                                                 let ')' = xx822_415                                                 return ()                                                 return (infixE l o r),                                              do d825_416 <- get-                                                xx824_417 <- StateT derivsChars+                                                xx824_417 <- StateT char                                                 case xx824_417 of                                                     '(' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d825_416 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d825_416 ["char"])                                                 let '(' = xx824_417                                                 return ()                                                 et <- StateT hsExpTpl                                                 d829_418 <- get-                                                xx828_419 <- StateT derivsChars+                                                xx828_419 <- StateT char                                                 case xx828_419 of                                                     ')' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d829_418 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d829_418 ["char"])                                                 let ')' = xx828_419                                                 return ()                                                 return (tupE et),                                              do d831_420 <- get-                                                xx830_421 <- StateT derivsChars+                                                xx830_421 <- StateT char                                                 case xx830_421 of                                                     '[' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d831_420 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d831_420 ["char"])                                                 let '[' = xx830_421                                                 return ()                                                 et <- StateT hsExpTpl                                                 d835_422 <- get-                                                xx834_423 <- StateT derivsChars+                                                xx834_423 <- StateT char                                                 case xx834_423 of                                                     ']' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d835_422 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d835_422 ["char"])                                                 let ']' = xx834_423                                                 return ()                                                 return (listE et),@@ -1589,42 +1589,42 @@                                                 return ()                                                 return (litE (integerL i)),                                              do d845_424 <- get-                                                xx844_425 <- StateT derivsChars+                                                xx844_425 <- StateT char                                                 case xx844_425 of                                                     '\'' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d845_424 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d845_424 ["char"])                                                 let '\'' = xx844_425                                                 return ()                                                 c <- StateT charLit                                                 d849_426 <- get-                                                xx848_427 <- StateT derivsChars+                                                xx848_427 <- StateT char                                                 case xx848_427 of                                                     '\'' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d849_426 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d849_426 ["char"])                                                 let '\'' = xx848_427                                                 return ()                                                 return (litE (charL c)),                                              do d851_428 <- get-                                                xx850_429 <- StateT derivsChars+                                                xx850_429 <- StateT char                                                 case xx850_429 of                                                     '"' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d851_428 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d851_428 ["char"])                                                 let '"' = xx850_429                                                 return ()                                                 s <- StateT stringLit                                                 d855_430 <- get-                                                xx854_431 <- StateT derivsChars+                                                xx854_431 <- StateT char                                                 case xx854_431 of                                                     '"' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d855_430 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'\"'" "not match pattern: " "" d855_430 ["char"])                                                 let '"' = xx854_431                                                 return ()                                                 return (litE (stringL s)),                                              do d857_432 <- get-                                                xx856_433 <- StateT derivsChars+                                                xx856_433 <- StateT char                                                 case xx856_433 of                                                     '-' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d857_432 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d857_432 ["char"])                                                 let '-' = xx856_433                                                 return ()                                                 _ <- StateT spaces@@ -1635,9 +1635,9 @@                                                   _ <- StateT spaces                                                   return ()                                                   d867_434 <- get-                                                  xx866_435 <- StateT derivsChars+                                                  xx866_435 <- StateT char                                                   let c = xx866_435-                                                  unless (isComma c) (gets derivsPosition >>= (throwError . mkParseError "isComma c" "not match: " "" d867_434 ["derivsChars"]))+                                                  unless (isComma c) (gets position >>= (throwError . mkParseError "isComma c" "not match: " "" d867_434 ["char"]))                                                   _ <- StateT spaces                                                   return ()                                                   et <- StateT hsExpTpl@@ -1647,16 +1647,16 @@                                                return emp]                 hsTypeArr53_120 = foldl1 mplus [do l <- StateT hsType                                                    d877_436 <- get-                                                   xx876_437 <- StateT derivsChars+                                                   xx876_437 <- StateT char                                                    case xx876_437 of                                                        '-' -> return ()-                                                       _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d877_436 ["derivsChars"])+                                                       _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d877_436 ["char"])                                                    let '-' = xx876_437                                                    return ()                                                    d879_438 <- get-                                                   xx878_439 <- StateT derivsChars+                                                   xx878_439 <- StateT char                                                    let c = xx878_439-                                                   unless (isGt c) (gets derivsPosition >>= (throwError . mkParseError "isGt c" "not match: " "" d879_438 ["derivsChars"]))+                                                   unless (isGt c) (gets position >>= (throwError . mkParseError "isGt c" "not match: " "" d879_438 ["char"]))                                                    _ <- StateT spaces                                                    return ()                                                    r <- StateT hsTypeArr@@ -1669,83 +1669,83 @@                                              do t <- StateT hsType1                                                 return (toTyp t)]                 hsType155_122 = foldl1 mplus [do d893_440 <- get-                                                 xx892_441 <- StateT derivsChars+                                                 xx892_441 <- StateT char                                                  case xx892_441 of                                                      '[' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d893_440 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d893_440 ["char"])                                                  let '[' = xx892_441                                                  return ()                                                  d895_442 <- get-                                                 xx894_443 <- StateT derivsChars+                                                 xx894_443 <- StateT char                                                  case xx894_443 of                                                      ']' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d895_442 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d895_442 ["char"])                                                  let ']' = xx894_443                                                  return ()                                                  _ <- StateT spaces                                                  return ()                                                  return listT,                                               do d899_444 <- get-                                                 xx898_445 <- StateT derivsChars+                                                 xx898_445 <- StateT char                                                  case xx898_445 of                                                      '[' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'['" "not match pattern: " "" d899_444 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'['" "not match pattern: " "" d899_444 ["char"])                                                  let '[' = xx898_445                                                  return ()                                                  t <- StateT hsTypeArr                                                  d903_446 <- get-                                                 xx902_447 <- StateT derivsChars+                                                 xx902_447 <- StateT char                                                  case xx902_447 of                                                      ']' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "']'" "not match pattern: " "" d903_446 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "']'" "not match pattern: " "" d903_446 ["char"])                                                  let ']' = xx902_447                                                  return ()                                                  _ <- StateT spaces                                                  return ()                                                  return (appT listT t),                                               do d907_448 <- get-                                                 xx906_449 <- StateT derivsChars+                                                 xx906_449 <- StateT char                                                  case xx906_449 of                                                      '(' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d907_448 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d907_448 ["char"])                                                  let '(' = xx906_449                                                  return ()                                                  _ <- StateT spaces                                                  return ()                                                  tt <- StateT hsTypeTpl                                                  d913_450 <- get-                                                 xx912_451 <- StateT derivsChars+                                                 xx912_451 <- StateT char                                                  case xx912_451 of                                                      ')' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d913_450 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d913_450 ["char"])                                                  let ')' = xx912_451                                                  return ()                                                  return (tupT tt),                                               do t <- StateT typToken                                                  return (conT (mkName t)),                                               do d917_452 <- get-                                                 xx916_453 <- StateT derivsChars+                                                 xx916_453 <- StateT char                                                  case xx916_453 of                                                      '(' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'('" "not match pattern: " "" d917_452 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'('" "not match pattern: " "" d917_452 ["char"])                                                  let '(' = xx916_453                                                  return ()                                                  d919_454 <- get-                                                 xx918_455 <- StateT derivsChars+                                                 xx918_455 <- StateT char                                                  case xx918_455 of                                                      '-' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d919_454 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d919_454 ["char"])                                                  let '-' = xx918_455                                                  return ()                                                  d921_456 <- get-                                                 xx920_457 <- StateT derivsChars+                                                 xx920_457 <- StateT char                                                  let c = xx920_457-                                                 unless (isGt c) (gets derivsPosition >>= (throwError . mkParseError "isGt c" "not match: " "" d921_456 ["derivsChars"]))+                                                 unless (isGt c) (gets position >>= (throwError . mkParseError "isGt c" "not match: " "" d921_456 ["char"]))                                                  d923_458 <- get-                                                 xx922_459 <- StateT derivsChars+                                                 xx922_459 <- StateT char                                                  case xx922_459 of                                                      ')' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "')'" "not match pattern: " "" d923_458 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "')'" "not match pattern: " "" d923_458 ["char"])                                                  let ')' = xx922_459                                                  return ()                                                  _ <- StateT spaces@@ -1753,9 +1753,9 @@                                                  return arrowT]                 hsTypeTpl56_123 = foldl1 mplus [do t <- StateT hsTypeArr                                                    d929_460 <- get-                                                   xx928_461 <- StateT derivsChars+                                                   xx928_461 <- StateT char                                                    let c = xx928_461-                                                   unless (isComma c) (gets derivsPosition >>= (throwError . mkParseError "isComma c" "not match: " "" d929_460 ["derivsChars"]))+                                                   unless (isComma c) (gets position >>= (throwError . mkParseError "isComma c" "not match: " "" d929_460 ["char"]))                                                    _ <- StateT spaces                                                    return ()                                                    tt <- StateT hsTypeTpl@@ -1784,27 +1784,27 @@                                             do d <- StateT digit                                                return d,                                             do d961_463 <- get-                                               xx960_464 <- StateT derivsChars+                                               xx960_464 <- StateT char                                                case xx960_464 of                                                    '\'' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d961_463 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'\\''" "not match pattern: " "" d961_463 ["char"])                                                let '\'' = xx960_464                                                return ()                                                return '\'']                 upper62_129 = foldl1 mplus [do d963_465 <- get-                                               xx962_466 <- StateT derivsChars+                                               xx962_466 <- StateT char                                                let u = xx962_466-                                               unless (isUpper u) (gets derivsPosition >>= (throwError . mkParseError "isUpper u" "not match: " "" d963_465 ["derivsChars"]))+                                               unless (isUpper u) (gets position >>= (throwError . mkParseError "isUpper u" "not match: " "" d963_465 ["char"]))                                                return u]                 lower63_130 = foldl1 mplus [do d965_467 <- get-                                               xx964_468 <- StateT derivsChars+                                               xx964_468 <- StateT char                                                let l = xx964_468-                                               unless (isLowerU l) (gets derivsPosition >>= (throwError . mkParseError "isLowerU l" "not match: " "" d965_467 ["derivsChars"]))+                                               unless (isLowerU l) (gets position >>= (throwError . mkParseError "isLowerU l" "not match: " "" d965_467 ["char"]))                                                return l]                 digit64_131 = foldl1 mplus [do d967_469 <- get-                                               xx966_470 <- StateT derivsChars+                                               xx966_470 <- StateT char                                                let d = xx966_470-                                               unless (isDigit d) (gets derivsPosition >>= (throwError . mkParseError "isDigit d" "not match: " "" d967_469 ["derivsChars"]))+                                               unless (isDigit d) (gets position >>= (throwError . mkParseError "isDigit d" "not match: " "" d967_469 ["char"]))                                                return d]                 spaces65_132 = foldl1 mplus [do _ <- StateT space                                                 return ()@@ -1813,22 +1813,22 @@                                                 return (),                                              return ()]                 space66_133 = foldl1 mplus [do d973_471 <- get-                                               xx972_472 <- StateT derivsChars+                                               xx972_472 <- StateT char                                                let s = xx972_472-                                               unless (isSpace s) (gets derivsPosition >>= (throwError . mkParseError "isSpace s" "not match: " "" d973_471 ["derivsChars"]))+                                               unless (isSpace s) (gets position >>= (throwError . mkParseError "isSpace s" "not match: " "" d973_471 ["char"]))                                                return (),                                             do d975_473 <- get-                                               xx974_474 <- StateT derivsChars+                                               xx974_474 <- StateT char                                                case xx974_474 of                                                    '-' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d975_473 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d975_473 ["char"])                                                let '-' = xx974_474                                                return ()                                                d977_475 <- get-                                               xx976_476 <- StateT derivsChars+                                               xx976_476 <- StateT char                                                case xx976_476 of                                                    '-' -> return ()-                                                   _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d977_475 ["derivsChars"])+                                                   _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d977_475 ["char"])                                                let '-' = xx976_476                                                return ()                                                _ <- StateT notNLString@@ -1842,43 +1842,43 @@                 notNLString67_134 = foldl1 mplus [do ddd984_477 <- get                                                      do err <- ((do _ <- StateT newLine                                                                     return ()) >> return False) `catchError` const (return True)-                                                        unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:newLine") "not match: " "" ddd984_477 ["newLine"]))+                                                        unless err (gets position >>= (throwError . mkParseError ('!' : "_:newLine") "not match: " "" ddd984_477 ["newLine"]))                                                      put ddd984_477-                                                     c <- StateT derivsChars+                                                     c <- StateT char                                                      s <- StateT notNLString                                                      return (cons c s),                                                   return emp]                 newLine68_135 = foldl1 mplus [do d992_478 <- get-                                                 xx991_479 <- StateT derivsChars+                                                 xx991_479 <- StateT char                                                  case xx991_479 of                                                      '\n' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d992_478 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'\\n'" "not match pattern: " "" d992_478 ["char"])                                                  let '\n' = xx991_479                                                  return ()                                                  return ()]                 comment69_136 = foldl1 mplus [do d994_480 <- get-                                                 xx993_481 <- StateT derivsChars+                                                 xx993_481 <- StateT char                                                  case xx993_481 of                                                      '{' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'{'" "not match pattern: " "" d994_480 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'{'" "not match pattern: " "" d994_480 ["char"])                                                  let '{' = xx993_481                                                  return ()                                                  d996_482 <- get-                                                 xx995_483 <- StateT derivsChars+                                                 xx995_483 <- StateT char                                                  case xx995_483 of                                                      '-' -> return ()-                                                     _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d996_482 ["derivsChars"])+                                                     _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d996_482 ["char"])                                                  let '-' = xx995_483                                                  return ()                                                  ddd997_484 <- get                                                  do err <- ((do d999_485 <- get-                                                                xx998_486 <- StateT derivsChars+                                                                xx998_486 <- StateT char                                                                 case xx998_486 of                                                                     '#' -> return ()-                                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'#'" "not match pattern: " "" d999_485 ["derivsChars"])+                                                                    _ -> gets position >>= (throwError . mkParseError "'#'" "not match pattern: " "" d999_485 ["char"])                                                                 let '#' = xx998_486                                                                 return ()) >> return False) `catchError` const (return True)-                                                    unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "'#':") "not match: " "" ddd997_484 ["derivsChars"]))+                                                    unless err (gets position >>= (throwError . mkParseError ('!' : "'#':") "not match: " "" ddd997_484 ["char"]))                                                  put ddd997_484                                                  _ <- StateT comments                                                  return ()@@ -1898,31 +1898,31 @@                 notComStr71_138 = foldl1 mplus [do ddd1012_487 <- get                                                    do err <- ((do _ <- StateT comment                                                                   return ()) >> return False) `catchError` const (return True)-                                                      unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:comment") "not match: " "" ddd1012_487 ["comment"]))+                                                      unless err (gets position >>= (throwError . mkParseError ('!' : "_:comment") "not match: " "" ddd1012_487 ["comment"]))                                                    put ddd1012_487                                                    ddd1015_488 <- get                                                    do err <- ((do _ <- StateT comEnd                                                                   return ()) >> return False) `catchError` const (return True)-                                                      unless err (gets derivsPosition >>= (throwError . mkParseError ('!' : "_:comEnd") "not match: " "" ddd1015_488 ["comEnd"]))+                                                      unless err (gets position >>= (throwError . mkParseError ('!' : "_:comEnd") "not match: " "" ddd1015_488 ["comEnd"]))                                                    put ddd1015_488-                                                   _ <- StateT derivsChars+                                                   _ <- StateT char                                                    return ()                                                    _ <- StateT notComStr                                                    return ()                                                    return (),                                                 return ()]                 comEnd72_139 = foldl1 mplus [do d1023_489 <- get-                                                xx1022_490 <- StateT derivsChars+                                                xx1022_490 <- StateT char                                                 case xx1022_490 of                                                     '-' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'-'" "not match pattern: " "" d1023_489 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'-'" "not match pattern: " "" d1023_489 ["char"])                                                 let '-' = xx1022_490                                                 return ()                                                 d1025_491 <- get-                                                xx1024_492 <- StateT derivsChars+                                                xx1024_492 <- StateT char                                                 case xx1024_492 of                                                     '}' -> return ()-                                                    _ -> gets derivsPosition >>= (throwError . mkParseError "'}'" "not match pattern: " "" d1025_491 ["derivsChars"])+                                                    _ -> gets position >>= (throwError . mkParseError "'}'" "not match pattern: " "" d1025_491 ["char"])                                                 let '}' = xx1024_492                                                 return ()                                                 return ()]
src/Text/Papillon/SyntaxTree.hs view
@@ -15,7 +15,7 @@  nameFromRF :: ReadFrom -> [String] nameFromRF (FromVariable s) = [s]-nameFromRF FromToken = ["derivsChars"]+nameFromRF FromToken = ["char"] nameFromRF (FromList rf) = nameFromRF rf nameFromRF (FromList1 rf) = nameFromRF rf nameFromRF (FromOptional rf) = nameFromRF rf
src/Text/PapillonCore.hs view
@@ -2,21 +2,31 @@ 	FlexibleInstances #-}  module Text.PapillonCore (+	-- * For Text.Papillon library 	papillonCore, -	papillonFile,-	PPragma(..),-	ModuleName,-	ExportList,-	Code,- 	Source(..), 	SourceList(..),-	ParseError(..),++	-- ** For parse error message+	ParseError, 	mkParseError,+	peDerivs,+	peReading,+	peMessage,+	peCode,+	peComment,+	pePosition,+	pePositionS, 	Pos(..), 	ListPos(..),-	pePositionS,++	-- * For papillon command+	papillonFile,+	PPragma(..),+	ModuleName,+	ExportList,+	Code, ) where  import Language.Haskell.TH@@ -158,7 +168,7 @@ 	p = pePositionS pe  showReading :: Derivs -> String -> String-showReading d "derivsChars" = case derivsChars d of+showReading d "char" = case char d of 	Right (c, _) -> show c 	Left _ -> error "bad" showReading _ n = "yet: " ++ n@@ -190,8 +200,8 @@ 		(if isOptionalUsed pg then od else [])  dvCharsN, dvPosN :: Name-dvCharsN = mkName "derivsChars"-dvPosN = mkName "derivsPosition"+dvCharsN = mkName "char"+dvPosN = mkName "position"  derivs :: Bool -> TypeQ -> TypeQ -> Peg -> DecQ derivs _ src tkn pegg = dataD (cxt []) (mkName "Derivs") [] [@@ -242,18 +252,18 @@ parseE :: IORef Int -> Bool -> Name -> [Name] -> Peg -> ClauseQ parseE g th pgn pnames pegg = do 	tmps <- mapM (newNewName g) names-	parseE' g th pgn tmps pnames+	parseE' g th pgn tmps pnames $ map mkName names 	where 	names = map (\(n, _, _) -> n) pegg-parseE' :: IORef Int -> Bool -> Name -> [Name] -> [Name] -> ClauseQ-parseE' g th pgn tmps pnames = do+parseE' :: IORef Int -> Bool -> Name -> [Name] -> [Name] -> [Name] -> ClauseQ+parseE' g th pgn tmps pnames names = do 	chars <- newNewName g "chars" 	clause [varP $ mkName "pos", varP $ mkName "s"] 					(normalB $ varE $ mkName "d") $ [ 		flip (valD $ varP $ mkName "d") [] $ normalB $ appsE $ 			conE (mkName "Derivs") : 				map varE tmps ++ [varE chars, varE $ mkName "pos"]-	 ] ++ zipWith (parseE1 th) tmps pnames ++ [parseChar th pgn chars]+	 ] ++ zipWith3 (parseE1 th) tmps pnames names ++ [parseChar th pgn chars]  parseChar :: Bool -> Name -> Name -> DecQ parseChar th pgn chars = flip (valD $ varP chars) [] $ normalB $@@ -283,10 +293,9 @@ 	s' = mkName "s'" 	returnE = varE $ returnN th 	parseGenE = varE pgn-parseE1 :: Bool -> Name -> Name -> DecQ-parseE1 th tmp name = flip (valD $ varP tmp) [] $ normalB $-	varE (runStateTN th) `appE` varE name-		`appE` varE (mkName "d")+parseE1 :: Bool -> Name -> Name -> Name -> DecQ+parseE1 th tmp name _ = flip (valD $ varP tmp) [] $ normalB $+	varE (runStateTN th) `appE` varE name `appE` varE (mkName "d")  pSomes :: IORef Int -> Bool -> Name -> Name -> Name -> [Name] -> Peg -> DecsQ pSomes g th lst lst1 opt = zipWithM $ pSomes1 g th lst lst1 opt