summaryrefslogtreecommitdiff
path: root/testsuite/tests/programs/jq_readsPrec/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/programs/jq_readsPrec/Main.hs')
-rw-r--r--testsuite/tests/programs/jq_readsPrec/Main.hs20
1 files changed, 20 insertions, 0 deletions
diff --git a/testsuite/tests/programs/jq_readsPrec/Main.hs b/testsuite/tests/programs/jq_readsPrec/Main.hs
new file mode 100644
index 0000000000..360a411ef0
--- /dev/null
+++ b/testsuite/tests/programs/jq_readsPrec/Main.hs
@@ -0,0 +1,20 @@
+module Main where
+
+data Vertex = V Int deriving (Read, Show)
+
+main = do
+ userInput <- getContents
+ (parseVertex.lines) userInput report
+
+report::Vertex -> IO ()
+report int = putStr (show int)
+
+parseVertex::[String] -> (Vertex -> IO ()) -> IO ()
+parseVertex inputLines cont
+ = case inputLines of
+ (l1:rest) -> case (reads l1) of
+ [(x,"")] -> cont x
+ other -> putStr
+ ((showString "Error - retype the edges\n". shows other) "")
+ _ -> putStr "No Vertex"
+