summaryrefslogtreecommitdiff
path: root/lambda-calcul/haskell/app/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lambda-calcul/haskell/app/Main.hs')
-rw-r--r--lambda-calcul/haskell/app/Main.hs12
1 files changed, 9 insertions, 3 deletions
diff --git a/lambda-calcul/haskell/app/Main.hs b/lambda-calcul/haskell/app/Main.hs
index 5b48c01..0b40f60 100644
--- a/lambda-calcul/haskell/app/Main.hs
+++ b/lambda-calcul/haskell/app/Main.hs
@@ -1,6 +1,12 @@
-import Minilang.IO
+import Minilang.IO (runEval)
import System.IO (stdin, stdout)
+import System.Posix.Terminal (queryTerminal)
+import System.Posix (stdInput)
+import Minilang.REPL (withTerminal)
main :: IO ()
-main =
- runEval stdin stdout
+main = do
+ hasTty <- queryTerminal stdInput
+ if hasTty
+ then withTerminal
+ else runEval stdin stdout