Допустим внутри лямбда функции может находится переменная хранящая значение до следующего вызова:
Func LAMBDA [int /*Типы_аргументов*/][int /*Типы_результатов*/]{/*Методы(например реализация операторов) работы с лямбдой как с значением*/} //Определение типа функции
S Func //Две переменных(контейнера) для значений типа "Func"
G Func
S = (Arg) //Определяем значение типа "Func" и помещаем(присваиваем) его в переменную "S".
{
H INT 0 //Это переменная для значений типа "INT" сохраняющая своё значение до следующего вызова, с начальным значением 0.
H = H + Arg //"Алгебраическая прогрессия".
Rez = H //Возврат результата.
}
(Rez) Func
Printf( S(1) ) //Отобразит "1", переменная "H" теперь хранит "1"
G = S //Копирование лямбды в переменную "G".
DO 3 { G(1) } //Вызов копии в "G" 3-и раза.
Printf( S(0) ) //Отобразит "1"
Printf( G(0) ) //Отобразит "4"
Такая лямбда это как бы сильно урезанный объект из ООП(с одним методом).
Как вы считаете, может ли быть полезной на практике такая возможность?
Между тем,что я думаю,тем,что я хочу сказать,тем,что я,как мне кажется,говорю,и тем,что вы хотите услышать,тем,что как вам кажется,вы слышите,тем,что вы понимаете,стоит десять вариантов возникновения непонимания.Но всё-таки давайте попробуем...(Э.Уэллс)