summaryrefslogtreecommitdiff
path: root/src/Main.hs
blob: 3edefe24ec56c89184721f8aabc6438062ae0175 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-- Copyright © 2015 Benjamin Barenblat
--
-- Licensed under the Apache License, Version 2.0 (the "License"); you may not
-- use this file except in compliance with the License.  You may obtain a copy
-- of the License at
--
--     http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-- WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
-- License for the specific language governing permissions and limitations under
-- the License.

module Main (main) where

import Control.Monad (forever)
import System.IO (hFlush, stdout)

main :: IO ()
main = forever $
  readCommand >>= evaluate

readCommand :: IO String
readCommand = do
  putStr "> " >> hFlush stdout
  getLine

evaluate :: String -> IO ()
evaluate command =
  putStrLn $ "Got command ‘" ++ command ++ "’"