@@ -163,10 +163,9 @@ pCmd :: P.IdrisParser (Either String Command)
163pCmd = choice [ do c <- cmd names; parser c
163pCmd = choice [ do c <- cmd names; parser c
164 | (names, _, _, parser) <- parserCommandsForHelp ++ parserCommands ]
164 | (names, _, _, parser) <- parserCommandsForHelp ++ parserCommands ]
165 <|> unrecognized
165 <|> unrecognized
166− <|> nop
166+ <|> nop
168 where nop = do eof; return (Right NOP)
168 where nop = do eof; return (Right NOP)
169− eval = exprArg Eval ""
170 unrecognized = do
169 unrecognized = do
171 P.lchar ':'
170 P.lchar ':'
172 cmd <- many anyChar
171 cmd <- many anyChar
@@ -194,6 +193,11 @@ noArgs cmd name = do
195 emptyArgs <|> failure
194 emptyArgs <|> failure
196+eval :: P.IdrisParser (Either String Command)
198+ t <- P.fullExpr defaultSyntax
199+ return $ Right (Eval t)
197exprArg :: (PTerm -> Command) -> String -> P.IdrisParser (Either String Command)
201exprArg :: (PTerm -> Command) -> String -> P.IdrisParser (Either String Command)
198exprArg cmd name = do
202exprArg cmd name = do
199 let noArg = do
203 let noArg = do
@@ -201,9 +205,9 @@ exprArg cmd name = do
201 return $ Left ("Usage is :" ++ name ++ " <expression>")
205 return $ Left ("Usage is :" ++ name ++ " <expression>")
203 let justOperator = do
207 let justOperator = do
204− (op, fc) <- P.maybeWithNS P.operatorFC False []
208+ (op, fc) <- P.operatorFC
206− return $ Right $ cmd (PRef fc [] op)
210+ return $ Right $ cmd (PRef fc [] (sUN op))
208 let properArg = do
212 let properArg = do
209 t <- P.fullExpr defaultSyntax
213 t <- P.fullExpr defaultSyntax