DB
if-else if-else
мы узнали раньше, чем про PM? Вот допустим сначала рассказываем про условное выражение, а потом, допустим, когда рассказываем про списки, говорим о том, как писать функции для списков. И вот в них используется рекурсивный вызов и pattern matching. Возникает вопрос сразу: а почему бы не написатьif lst == empty: ...
else: ... lst.first ... lst.rest ...
вместо предложенного
cases (List) lst:
| empty => ...
| link(first, rest) => ...
end
Примеры на Pyret написаны, но вы, думаю, понимаете, что я имею в виду.