Т.к. функциональная парадигма программирования основана на l-исчислении, то вполне закономерно, что все функциональные языки поддерживают нотацию для описания l-абстракций. Haskell не обошел стороной и этот аспект, если есть необходимость в определении какой-либо функции через l-абстракцию. Кроме того, через l-абстракции можно определять анонимные функции (например, для единичного вызова). Ниже показан пример, где определены функции add и inc именно при помощи l-исчисления.
Пример 4.2. Функции add и inc, определённые через l-абстракции.
add = \x y -> x + y
inc = \x -> x + 1
Пример 4.3. Вызов аномимной функции.
cubes = map (\x -> x * x * x) [0 ..]
Пример 4.3 показывает вызов анонимной функции, возводящей в куб переданный параметр. Результатом выполнения этой инструкции будет бесконечный список кубов целых чисел, начиная с нуля. Необходимо отметить, что в Haskell’е используется упрощенный способ записи l-выражений, т.к. в точной нотации функцию add правильней было бы написать как:
add = \x -> \y -> x + y
Остаётся отметить, что тип l-абстракции определяется абсолютно так же, как и тип функций. Тип l-выражения вида lx.expr будет выглядеть как T1 ® T2, где T1 — это тип переменной x, а T2 — тип выражения expr.