@@ -64,7 +64,7 @@ parseValueDeclaration =
65parseExternDeclaration :: P.Parsec String ParseState Declaration
65parseExternDeclaration :: P.Parsec String ParseState Declaration
66parseExternDeclaration = P.try (reserved "foreign") *> indented *> (reserved "import") *> indented *>
66parseExternDeclaration = P.try (reserved "foreign") *> indented *> (reserved "import") *> indented *>
67− (ExternDataDeclaration <$> (P.try (reserved "data") *> indented *> properName)
67+ (ExternDataDeclaration <$> (P.try (reserved "data") *> indented *> properNameOrExternalType)
68 <*> (lexeme (indented *> P.string "::") *> parseKind)
68 <*> (lexeme (indented *> P.string "::") *> parseKind)
69 <|> do ident <- parseNonReservedIdent
69 <|> do ident <- parseNonReservedIdent
70 js <- P.optionMaybe (parseJSLiteral <$> stringLiteral)
70 js <- P.optionMaybe (parseJSLiteral <$> stringLiteral)