File tree Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Expand file tree Collapse file tree 1 file changed +7
-6
lines changed Original file line number Diff line number Diff line change 1
1
module Repl where
2
2
3
3
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
6
7
import qualified Data.List as L
7
8
import System.Console.Haskeline
8
9
@@ -14,13 +15,13 @@ readPrompt prompt1 prompt2 = readPrompt' [] prompt1
14
15
15
16
i_repl = do
16
17
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)
20
21
i_repl
21
22
22
23
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
24
25
elemToTerm (P. Form [] ) = litSym nat_zero -- TODO: unit
25
26
-- TODO: process syntactic forms
26
27
elemToTerm (P. Form (first : rest)) = Apply first' rest'
You can’t perform that action at this time.
0 commit comments