Выполнение строки чтения внутри if
Я пишу небольшую утилиту командной строки в Haskell, которая должна принимать команду с необязательным аргументом командной строки - но если аргумент отсутствует, пользователю должно быть предложено ввести его*. Например:
$ my_prog add item_name
Adding... done
$ my_prog add
Enter item name: item_name
Adding... done
Моя первая попытка выглядела примерно так:
add args = do
let id = if length args > 0
then head args
else input where
input <- readLine
-- Do stuff with id
putStrLn id
, который не удается разобрать в <-
.