Основы функционального программирования/Структуры данных и базисные операции — 2: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 41:
=== Образцы и клозы ===
 
Необходимо отметить, что в нотации абстрактного функционального языка, который использовался до сих пор для написания примеров функций, можно было бы использовать такую конструкцию, как <math>if-then-else</math>. Например, при описании функции <math>append</math> (см. '''[[Основы функционального программирования/Структуры данных и базисные операции#Примеры|пример&nbsp;7]]'''), её тело можно было бы записать следующим образом:
 
<math>append(L_{1}, L_{2}) = if (L_{1} = []) then L_{2} else head(L_{1}) : append(tail(L_{1}), L_{2})</math>
 
Однако данная запись чревата непониманием и трудным разбором. Поэтому даже в '''[[Основы функционального программирования/Структуры данных и базисные операции#Примеры|примере&nbsp;7]]''' была использована нотация, которая поддерживает так называемые «образцы».
 
'''Определение:'''