J-оператор
(
оператор Лэндина
) — программная конструкция, которая объединяет предшествующее
λ-выражение
с
продолжением
программы в текущий λ-контекст. Результатом действия этого оператора является
объект первого класса
, который может быть передан в другие функции в качестве аргумента или вычислен непосредственно.
Введён
(
англ.
) в серии работ середины 1960-х работ, основная из которых была посвящена теоретическому языку программирования
ISWIM
, в котором оператор играл ключевую роль, обеспечивая реализацию изменяемого
состояния
,
присваивание
и механизм управления. Для реализации оператора Лэндин ввёл синтаксис, основанный на where-выражениях. Впоследствии этот синтаксис был реализован в реальном языке
CPL
.
(February 1965). "Correspondence between ALGOL 60 and Church's Lambda-notation: Part I".
Comm. ACM
.
8
(2): 89—101.
doi
:
.
(March 1965). "A correspondence between ALGOL 60 and Church's Lambda-notations: Part II".
Comm. ACM
.
8
(3): 158—167.
doi
:
.
Landin, P. J., A formal description of Algol 60. Presented at IFIP Working Conf., Baden, Sept. 1964.
Landin, P. J., Programming without lmperatives—an Example, UNIVAC S.P. Research Report (March, 1965)
Landin, P. J., Getting Rid of Labels, UNIVAC S.P. Research Report (July, 1965)
Landin, P. J., An Analysis of Assignment in Programming Languages, UNIVAC S.P. Research Report (September, 1965)
Thielecke, H. (December 1998).
(PDF)
.
.
11
(2): 117—123.
doi
:
.
; Millikin, K. (November 2008). Tennent, Robert (ed.). "A Rational Deconstruction of Landin's SECD Machine with the J Operator".
.
4
(4:12): 1—67.
arXiv
:
.
doi
:
.
; Shan, C. C.; Zerny, I. (2009). "J Is for JavaScript: A Direct-Style Correspondence between Algol-Like Languages and JavaScript Using First-Class Continuations".
(PDF)
.
. Vol. 5658. pp. 1—19.
doi
:
.
ISBN
978-3-642-03033-8
. Архивировано из
(PDF)
18 августа 2010
. Дата обращения:
19 сентября 2009
.
от 18 августа 2010 на
Wayback Machine