X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=utils%2Fext-core%2FParsecParser.hs;h=4afa9243c0501036584128093ac6fa579c1e2a17;hp=42e21e91132299dd747ef1bfd253f72931ecced4;hb=e4417dcd4679da9c6b18c02ff667199c572bed89;hpb=9f565a397c17568f725b25720a817326744777f0 diff --git a/utils/ext-core/ParsecParser.hs b/utils/ext-core/ParsecParser.hs index 42e21e9..4afa924 100644 --- a/utils/ext-core/ParsecParser.hs +++ b/utils/ext-core/ParsecParser.hs @@ -36,7 +36,6 @@ coreModuleName = do corePackageName :: Parser Pname -- Package names can be lowercase or uppercase! --- TODO: update docs corePackageName = identifier <|> upperName coreHierModuleNames :: Parser ([Id], Id) @@ -81,11 +80,11 @@ coreNewtypeDecl = do reserved "newtype" tyCon <- coreQualifiedCon whiteSpace + coercionName <- coreQualifiedCon + whiteSpace tBinds <- coreTbinds - symbol "^" - axiom <- coreAxiom tyRep <- try coreTRep - return $ Newtype tyCon tBinds axiom tyRep + return $ Newtype tyCon coercionName tBinds tyRep coreQualifiedCon :: Parser (Mname, Id) coreQualifiedCon = coreQualifiedGen upperName @@ -109,17 +108,6 @@ coreQualifiedGen p = (try (do -- unqualified name (p >>= (\ res -> return (Nothing, res))) -coreAxiom :: Parser Axiom -coreAxiom = parens (do - coercionName <- coreQualifiedCon - whiteSpace - tbs <- coreTbinds - whiteSpace - symbol "::" - whiteSpace - coercionK <- try equalityKind <|> parens equalityKind - return (coercionName, tbs, coercionK)) - coreTbinds :: Parser [Tbind] coreTbinds = many coreTbind @@ -322,7 +310,7 @@ coreVdef = do coreAtomicExp :: Parser Exp coreAtomicExp = do -- For stupid reasons, the whiteSpace is necessary. --- Without it, (pt coreAppExp "w ^a:B.C ") doesn't work. +-- Without it, (pt coreAppExp "w a:B.C ") doesn't work. whiteSpace res <- choice [try coreDconOrVar, try coreLit,