Я знаю, что они не выдерживают совпадения шаблонов (т.е. вам нужно переписать предложение "where" для каждого шаблона), но как работает надпись для охранников?
например. Это работает?
myFunction x1 x2
| x1 > x2 = addOne x1
| x1 < x2 = addOne x2
| otherwise = x1
where addOne = (1+)
Или это должно быть?
myFunction x1 x2
| x1 > x2 = addOne x1
where addOne = (1+)
| x1 < x2 = addOne x2
where addOne = (1+)
| otherwise = x1