]> git.rmz.io Git - my-scheme.git/commitdiff
`deriving` from `Show` is a really easy way to print values
authorSamir Benmendil <me@rmz.io>
Sat, 20 Jan 2018 22:12:51 +0000 (22:12 +0000)
committerSamir Benmendil <me@rmz.io>
Sat, 20 Jan 2018 22:12:51 +0000 (22:12 +0000)
Probably only works for type that can already be shown.

app/Main.hs

index 67ec8ddde92590ba20d677d2f92b7d59128fd58e..01fd038650e2e9277b72b919ba357b7acffefd19 100644 (file)
@@ -9,6 +9,7 @@ data LispVal = Atom String
              | Number Integer
              | String String
              | Bool Bool
+             deriving Show
 
 symbol :: Parser Char
 symbol = oneOf "!#$%&|*+-/:<=>?@^_~"
@@ -46,7 +47,7 @@ parseExpr = parseString
 readExpr :: String -> String
 readExpr input = case parse parseExpr "lisp" input of
     Left err -> "No match: " ++ show err
-    Right val -> "Found value"
+    Right val -> "Found value: " ++ show val
 
 main :: IO ()
 main = do