@@ -82,7 +82,9 @@ loadSource f = do iLOG ("Reading " ++ f)
8282 return ()
8383
8484parseExpr i = runParser (pFullExpr defaultSyntax) i "(input)"
85−parseTac i = runParser (pTactic defaultSyntax) i "(proof)"
85+parseTac i = runParser (do t <- pTactic defaultSyntax
86+ eof
87+ return t) i "(proof)"
8688
8789parseImports :: FilePath -> String -> Idris ([String], String, SourcePos)
8890parseImports fname input
@@ -751,6 +753,10 @@ pTactic syn = do reserved "intro"; ns <- sepBy pName (lchar ',')
751753 <|> do reserved "rewrite"; t <- pExpr syn;
752754 i <- getState
753755 return $ Rewrite (desugar syn i t)
756+ <|> do reserved "let"; n <- pName; lchar '=';
757+ t <- pExpr syn;
758+ i <- getState
759+ return $ LetTac n (desugar syn i t)
754760 <|> do reserved "focus"; n <- pName
755761 return $ Focus n
756762 <|> do reserved "exact"; t <- pExpr syn;