J-оператор: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
В информатике '''J operator''', он же - «оператор Лэндина» - программная конструкция, которая объединяет предшествующее лямбда-выражение с продолжением программы в текущий лямбда-контекст. Результатом действия этого оператора является объект первого класса, который может быть передан в другие функции в качестве аргумента или вычислен непосредственно.
В информатике '''J operator''', он же - «оператор Лэндина» - программная конструкция, которая объединяет предшествующее лямбда-выражение с продолжением программы в текущий лямбда-контекст. Результатом действия этого оператора является объект первого класса, который может быть передан в другие функции в качестве аргумента или вычислен непосредственно.

== Литература ==
* {{Cite journal| last1 = Landin | first1 = P. J. | author1-link = Peter Landin| title = The Mechanical Evaluation of Expressions| doi = 10.1093/comjnl/6.4.308| journal = [[The Computer Journal|Comput. J.]]| volume = 6| issue = 4| pages = 308–320| date=January 1964 | doi-access = free}}
* {{Cite journal| last1 = Landin | first1 = P. J. | author1-link = Peter Landin| title = Correspondence between ALGOL 60 and Church's Lambda-notation: Part I| doi = 10.1145/363744.363749| journal = [[Communications of the ACM|Comm. ACM]]| volume = 8| issue = 2| pages = 89–101| date=February 1965 }}
* {{Cite journal| last1 = Landin | first1 = P. J. | author1-link = Peter Landin| title = A correspondence between ALGOL 60 and Church's Lambda-notations: Part II| doi = 10.1145/363791.363804| journal = [[Communications of the ACM|Comm. ACM]]| volume = 8| issue = 3| pages = 158–167| date=March 1965 }}
* 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)
*{{Cite journal| last1 = Thielecke | first1 = H.| title = An Introduction to Landin's "A Generalization of Jumps and Labels"| journal = [[Higher-Order and Symbolic Computation]]| volume = 11| issue = 2| pages = 117–123| doi = 10.1023/A:1010060315625| date=December 1998 | url = http://www.brics.dk/~hosc/local/HOSC-11-2-pp117-123.pdf}}
*{{Cite journal| last1 = Danvy | first1 = O. | author1-link = Olivier Danvy| last2 = Millikin | first2 = K.| editor1-last = Tennent| editor1-first = Robert| title = A Rational Deconstruction of Landin's SECD Machine with the J Operator| doi = 10.2168/LMCS-4(4:12)2008| journal = [[Logical Methods in Computer Science]]| volume = 4| issue = 4:12| pages = 1–67| date=November 2008 | arxiv = 0811.3231}}
*{{Cite conference| last1 = Danvy| first1 = O.| author1-link = Olivier Danvy| last2 = Shan| first2 = C. C.| last3 = Zerny| first3 = I.| doi = 10.1007/978-3-642-03034-5_1| chapter = J Is for JavaScript: A Direct-Style Correspondence between Algol-Like Languages and JavaScript Using First-Class Continuations| title = Domain-Specific Languages| series = [[Lecture Notes in Computer Science|LNCS]]| volume = 5658| pages = 1–19| year = 2009| isbn = 978-3-642-03033-8| url = http://www.cs.rutgers.edu/~ccshan/j/dsz.pdf| conference = | access-date = 2009-09-19| archive-url = https://web.archive.org/web/20100818003917/http://www.cs.rutgers.edu/~ccshan/j/dsz.pdf| archive-date = 2010-08-18| url-status = dead}}

Версия от 13:15, 22 октября 2020

В информатике J operator, он же - «оператор Лэндина» - программная конструкция, которая объединяет предшествующее лямбда-выражение с продолжением программы в текущий лямбда-контекст. Результатом действия этого оператора является объект первого класса, который может быть передан в другие функции в качестве аргумента или вычислен непосредственно.

Литература

  • Landin, P. J. (January 1964). "The Mechanical Evaluation of Expressions". Comput. J. 6 (4): 308—320. doi:10.1093/comjnl/6.4.308.
  • Landin, P. J. (February 1965). "Correspondence between ALGOL 60 and Church's Lambda-notation: Part I". Comm. ACM. 8 (2): 89—101. doi:10.1145/363744.363749.
  • Landin, P. J. (March 1965). "A correspondence between ALGOL 60 and Church's Lambda-notations: Part II". Comm. ACM. 8 (3): 158—167. doi:10.1145/363791.363804.
  • 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). "An Introduction to Landin's "A Generalization of Jumps and Labels"" (PDF). Higher-Order and Symbolic Computation. 11 (2): 117—123. doi:10.1023/A:1010060315625.
  • Danvy, O.; Millikin, K. (November 2008). Tennent, Robert (ed.). "A Rational Deconstruction of Landin's SECD Machine with the J Operator". Logical Methods in Computer Science. 4 (4:12): 1—67. arXiv:0811.3231. doi:10.2168/LMCS-4(4:12)2008.
  • Danvy, O.; Shan, C. C.; Zerny, I. (2009). "J Is for JavaScript: A Direct-Style Correspondence between Algol-Like Languages and JavaScript Using First-Class Continuations". Domain-Specific Languages (PDF). LNCS. Vol. 5658. pp. 1—19. doi:10.1007/978-3-642-03034-5_1. ISBN 978-3-642-03033-8. Архивировано из оригинала (PDF) 18 августа 2010. Дата обращения: 19 сентября 2009.