A model and stack implementation of multiple environments
Communications of the ACM
BLISS: a language for systems programming
Communications of the ACM
Communications of the ACM
Flow diagrams, turing machines and languages with only two formation rules
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Techniques of Program Structure and Design
Techniques of Program Structure and Design
A Discipline of Programming
The Design of an Optimizing Compiler
The Design of an Optimizing Compiler
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
Lambda: The Ultimate Imperative
Lambda: The Ultimate Imperative
LAMBDA: The Ultimate Declarative
LAMBDA: The Ultimate Declarative
Global variable considered harmful
ACM SIGPLAN Notices
ACM SIGPLAN Notices - Special issue on programming language design
ACM SIGSAM Bulletin
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Efficient stack allocation for tail-recursive languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Lambda, the ultimate label or a simple optimizing compiler for Scheme
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Auto-blocking matrix-multiplication or tracking BLAS3 performance from source code
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Communications of the ACM
Technical Correspondence: Steensgaard-Madsen's reply
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design of a LISP-based microprocessor
Communications of the ACM
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Contracts for higher-order functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
A combinator-based compiler for a functional language
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Listlessness is better than laziness: Lazy evaluation and garbage collection at compile-time
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Compiling a functional language
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Recursion is more efficient than iteration
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
The scheme 311 compiler an exercise in denotational semantics
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
S-1 Common Lisp implementation
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Strategies for data abstraction in LISP
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
Applicative style programming, program transformation, and list operators
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
An optimizing compiler for lexically scoped LISP
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Educator's view of structured concepts
ACM '80 Proceedings of the ACM 1980 annual conference
A tail-recursive machine with stack inspection
ACM Transactions on Programming Languages and Systems (TOPLAS)
History of programming languages---II
EDUCATIONAL PEARL: Automata via macros
Journal of Functional Programming
Slideshow: functional presentations
Journal of Functional Programming
The scheme environment: continuations
ACM SIGPLAN Lisp Pointers
ACM SIGPLAN Lisp Pointers
CICLing '09 Proceedings of the 10th International Conference on Computational Linguistics and Intelligent Text Processing
Equational Abstractions for Model Checking Erlang Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
ICFP 2002: Contracts for higher-order functions
ACM SIGPLAN Notices - Supplemental issue
Hi-index | 0.03 |
Folklore states that GOTO statements are “cheap”, while procedure calls are “expensive”. This myth is largely a result of poorly designed language implementations. The historical growth of this myth is considered. Both theoretical ideas and an existing implementation are discussed which debunk this myth. It is shown that the unrestricted use of procedure calls permits great stylistic freedom. In particular, any flowchart can be written as a “structured” program without introducing extra variables. The difficulty with the GOTO statement and the procedure call is characterized as a conflict between abstract programming concepts and concrete language constructs.