Я хочу включить более одного оператора case в функцию Haskell (см. Ниже пример гипотетической функции).
Однако это не разрешено в Haskell. Как лучше сделать то же самое? Более того, если операторы case ничего не возвращают, а просто устанавливают какое-то значение, почему недопустимо иметь более одного оператора case в функции?
(Я бы получил «ошибку синтаксического анализа при вводе` case '»» в строке 5)
tester x y =
case (x < 0) of
True -> "less than zero."
False -> "greater than or equal to zero."
case (y == "foo")
True -> "the name is foo."
False -> "the name is not foo."
Обратите внимание, что если бы моя функция была простой:
tester x y =
case (x < 0) of
True -> "less than zero."
False -> "greater than or equal to zero."
... тогда она бы компилировалась.