лямбда-исчисление является последовательной математической теорией замещения. В школьной математике можно видеть, например, x+y=5
в паре с x−y=1
. Наряду с путями манипулирования отдельными уравнениями также можно объединить информацию из этих двух, при условии, что подстановки с поперечным уравнением выполняются логически. Lambda calculus кодирует правильный способ выполнения этих подстановок.
Учитывая, что y = x−1
является действительной перестановкой второго уравнения, это: λ y = x−1
означает функцию, заменяющую символы x−1
символом y
. Теперь представьте себе применение λ y
к каждому члену в первом уравнении. Если термин y
, то выполните замену; в противном случае ничего не делать. Если вы сделаете это на бумаге, вы увидите, как применение λ y
сделает первое уравнение разрешимым.
Это ответ без какой-либо компьютерной науки или программирования.
Самый простой пример программирования, о котором я могу думать, исходит из http://en.wikipedia.org/wiki/Joy_ (programming_language) #How_it_works :
вот как квадратная функция может быть определен на императивном языке программирования (C):
int square(int x) { return x * x; }
Переменная x является формальным параметром, который заменяется фактическим значением, которое должно быть квадратично при вызове функции. В функциональном языке (схема) будет определена одна и та же функция:
(define square (lambda (x) (* x x)))
Это по-разному, но по-прежнему использует формальный параметр x таким же образом.
Добавлено: http://imgur.com/a/XBHub
См. Документация по биткойн-RPC - getblockchaininfo
"blocks": xxxxxx, (numeric) the current number of blocks processed in the server
"headers": xxxxxx, (numeric) the current number of headers we have validated
blocks
- высота самого высокого загруженного и проверенного блока, а headers
- высота самого высокого проверенного блока. заголовок блока (минус один на обоих, так как отсчет начинается с нуля). Проверка заголовка сама по себе не требует всего блока.