Как уже говорилось, использование локальных переменных представляет собой побочный эффект, поэтому оно недопустимо в функциональных языках. Однако в некоторых случаях использование локальных переменных носит оптимизирующий характер, что позволяет сэкономить время и ресурсы во время вычислений.
Пусть f и h — функции, и необходимо вычислить выражение h (f (X), f(X)). Если в языке нет оптимизирующих методов, то в этом случае произойдет двойное вычисление выражения f (X). Чтобы этого не произошло, можно прибегнуть к такому изощренному способу: (lv.h (v, v))(f (X)). Естественно, что в этом случает выражение f (X) будет вычислено первым и один раз. Для того, чтобы минимизировать использование l-исчисления, далее будет применяться следующая форма записи:
let v = f (X) in h (v, v)
(слова let, = и in — зарезервированы в языке). В этом случае v будет называться локальной переменной.