Skip to content

Commit 5df1925

Browse files
committed
fix Repl.hs wrt ParseForm.hs
1 parent 980d784 commit 5df1925

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

Repl.hs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
module Repl where
22

33
import Simpler
4-
import qualified Parse as P
5-
import qualified Data.ByteString.Char8 as BS
4+
import Data.Attoparsec.Text
5+
import qualified ParseForm as P
6+
import qualified Data.Text as TS
67
import qualified Data.List as L
78
import System.Console.Haskeline
89

@@ -14,13 +15,13 @@ readPrompt prompt1 prompt2 = readPrompt' [] prompt1
1415

1516
i_repl = do
1617
text <- readPrompt "> " ". " >>= maybe (error "EOF") return
17-
case P.parseForms $ BS.pack text of
18-
Left msg -> error msg
19-
Right forms -> putStrLn $ "parsed: " ++ show (map elemToTerm forms)
18+
case P.parseForms $ TS.pack text of
19+
Fail text cxt msg -> error $ show (text, cxt, msg)
20+
Done _ forms -> putStrLn $ "parsed: " ++ show (map elemToTerm forms)
2021
i_repl
2122

2223
litSym = Literal . Sym
23-
elemToTerm (P.Atom atom) = litSym . Global $ BS.unpack atom -- TODO: symbol maps
24+
elemToTerm (P.Atom atom) = litSym . Global $ TS.unpack atom -- TODO: symbol maps
2425
elemToTerm (P.Form []) = litSym nat_zero -- TODO: unit
2526
-- TODO: process syntactic forms
2627
elemToTerm (P.Form (first : rest)) = Apply first' rest'

0 commit comments

Comments
 (0)