A Generalization of Jumps and Labels

Higher-Order and Symbolic Computation - Tập 11 - Trang 125-143 - 1998
Peter J. Landin1
1QMW, University of London, UK

Tóm tắt

This paper describes a new language feature that is a hybrid of labels and procedures. It is closely related to jumping out of a functional subroutine, and includes conventional labels and jumping as a special, but probably not most useful, case. It is independent of assignment, ie., it can be added to a “purely-functional” (“non-imperative”) system (such as LISP without pseudo-functions or program feature). Experiments in purely functional programming suggest that its main use will be in success/failure situations, and failure actions. This innovation is incorporated in the projected experimental system, ISWIM.

Tài liệu tham khảo

Burge, W.H., “The Evaluation, Classification and Interpretation of expressions,” Proceedings of the 19th National ACM Conference, 1964. Gilmore, P.C., “An abstract computer with a LISP-like machine language without a label operator,” In Computer Programming and Formal Systems, ed. Braffort, P., and Hirschberg, D., North Holland Publishing Co., Amsterdam, 1963. Landin, P.J., “The Mechanical evaluation of expressions,” Comp. J. 6, pp. 308–320. Landin, P.J., “A Correspondence between ALGOL 60 and Church's Lambda-notation,” Comm. ACM 8, 89–101, 158-165, 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) McCarthy, J., “Towards a mathematical science of computation.” IFIP Munich Conference, 1962, North Holland, Amsterdam, 1963. Van Wijngaarden, A., “Recursive definition of syntax and semantics.” Presented at IFIP Working Conf., Baden, Sept. 1964. Landin, P.J., “An Analysis of Assignment in Programming Languages,” UNIVAC S.P. Research Report (September, 1965)