A bonus from van Wijngaarden's device
Communications of the ACM
GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
Communications of the ACM
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
The next 700 programming languages
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Implementation and applications of Scott's logic for computable functions
Proceedings of ACM conference on Proving assertions about programs
Proceedings of ACM conference on Proving assertions about programs
PAL—a language designed for teaching programming linguistics
ACM '68 Proceedings of the 1968 23rd ACM national conference
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
Report on the algorithmic language ALGOL 68
Report on the algorithmic language ALGOL 68
Detecting global variables in denotational specifications
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Journal of Symbolic Computation
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Embedding continuations in procedural objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract continuations: a mathematical semantics for handling full jumps
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Continuations may be unreasonable
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
An open-ended data representation model for EU_LISP
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Static and dynamic semantics processing
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Typing first-class continuations in ML
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Models of continuations without continuations
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compilation of functional languages by program transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
M-LISP: a representation-independent dialect of LISP with reduction semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reasoning about programs in continuation-passing style.
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Back to direct style II: first-class continuations
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
ACM Letters on Programming Languages and Systems (LOPLAS)
Proofs by structural induction using partial evaluation
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
HOPL-II The second ACM SIGPLAN conference on History of programming languages
Separating stages in the continuation-passing style transformation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Explicit polymorphism and CPS conversion
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Polymorphism by name for references and continuations
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sound rules for parallel evaluation of a functional language callcc
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Continuation conscious compilation
ACM SIGPLAN Lisp Pointers
A generic account of continuation-passing styles
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Building interpreters by composing monads
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Locality, causality and continuations
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Software design for reliability and reuse: a proof-of-concept demonstration
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
Realistic compilation by partial evaluation
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-driven defunctionalization
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Programming languages as operating systems (or revenge of the son of the lisp machine)
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Connection Machine Lisp: fine-grained parallel symbolic processing
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
Continuation-Based Program Transformation Strategies
Journal of the ACM (JACM)
Bootstrapping higher-order program transformers from interpreters
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
Generation of LR parsers by partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Deriving Target Code as a Representation of Continuation Semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Evaluation of Expressions in Icon
ACM Transactions on Programming Languages and Systems (TOPLAS)
Design of a LISP-based microprocessor
Communications of the ACM
Communications of the ACM
The denotational semantics of programming languages
Communications of the ACM
Fen—an axiomatic basis for program semantics
Communications of the ACM
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Systematically derived instruction sets for high-level language support
ACM-SE 20 Proceedings of the 20th annual Southeast regional conference
Functioning without closure: type-safe customized function representations for standard ML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Compilers and staging transformations
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Mathematical semantics of SNOBOL4
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Actor induction and meta-evaluation
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Continuations, functions and jumps
ACM SIGACT News
Tagless staged interpreters for typed languages
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Inferring annotated types for inter-procedural register allocation with constructor flattening
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
An Introduction to Landin‘s “A Generalization of Jumps and Labels”
Higher-Order and Symbolic Computation
Definitional Interpreters Revisited
Higher-Order and Symbolic Computation
Scheme: A Interpreter for Extended Lambda Calculus
Higher-Order and Symbolic Computation
Using a Continuation Twice and Its Implications for the Expressive Power of call/cc
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Continuation-Based Multiprocessing Revisited
Higher-Order and Symbolic Computation
Continuations: A Mathematical Semantics for Handling FullJumps
Higher-Order and Symbolic Computation
Comparing Control Constructs by Double-Barrelled CPS
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Automated techniques for provably safe mobile code
Theoretical Computer Science - Dependable computing
Flow-Directed Closure Conversion for Typed Languages
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Enforcing Safety Properties Using Type Specialization
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
Eta-Redexes in Partial Evaluation
Partial Evaluation - Practice and Theory, DIKU 1998 International Summer School
Design and Correctness of Program Transformations Based on Control-Flow Analysis
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Semantic Models for Distributed Object Reflection
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Type Structure for Low-Level Programming Languages
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Combining Semantics with Non-standard Interpreter Hierarchies
FST TCS 2000 Proceedings of the 20th Conference on Foundations of Software Technology and Theoretical Computer Science
Normalization and Partial Evaluation
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Continuation-based multiprocessing
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
HLLCA '73 Proceedings of the ACM-IEEE symposium on High-level-language computer architecture
Macaroni is better than spaghetti
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Automatically Restructuring Programs for the Web
Proceedings of the 16th IEEE international conference on Automated software engineering
HLLCA '73 Proceedings of a symposium on High-level-language computer architecture
From λ to π; or, Rediscovering continuations
Mathematical Structures in Computer Science
Higher-order functional languages and intensional logic
Journal of Functional Programming
From ML to Ada: Strongly-typed language interoperability via source translation
Journal of Functional Programming
Classical logic, continuation semantics and abstract machines
Journal of Functional Programming
What is a purely functional language?
Journal of Functional Programming
Automatically Restructuring Programs for the Web
Automated Software Engineering
A preliminary survey of artificial intelligence machines
ACM SIGART Bulletin
History of programming languages---II
Journal of Functional Programming
A parallel SML compiler based on algorithmic skeletons
Journal of Functional Programming
Laziness without all the hard work: combining lazy and strict languages for teaching
Proceedings of the 2005 workshop on Functional and declarative programming in education
Continuations from generalized stack inspection
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Ownership confinement ensures representation independence for object-oriented programs
Journal of the ACM (JACM)
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the static and dynamic extents of delimited continuations
Science of Computer Programming
Gaussian elimination: a case study in efficient genericity with MetaOCaml
Science of Computer Programming - Special issue on the first MetaOCaml workshop 2004
Specializing continuations a model for dynamic join points
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
Combining algebraic effects with continuations
Theoretical Computer Science
On the relations between monadic semantics
Theoretical Computer Science
Flow analysis of lazy higher-order functional programs
Theoretical Computer Science
Functional pearl: the great escape or, how to jump the border without getting caught
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Efficient type inference using ranked type variables
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Status report: specifying javascript with ML
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Secure web applications via automatic partitioning
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
A concrete framework for environment machines
ACM Transactions on Computational Logic (TOCL)
Conversion of Predicate-Calculus Axioms to Corresponding Deterministic Programs
IEEE Transactions on Computers
The scheme environment: continuations
ACM SIGPLAN Lisp Pointers
ACM SIGPLAN Lisp Pointers
Higher-Order and Symbolic Computation
Improving the lazy Krivine machine
Higher-Order and Symbolic Computation
State-transition machines for lambda-calculus expressions
Higher-Order and Symbolic Computation
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Semi-inversion of functional parameters
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Focusing and higher-order abstract syntax
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Call pattern analysis for functional logic programs
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Not all patterns, but enough: an automatic verifier for partial but sufficient pattern matching
Proceedings of the first ACM SIGPLAN symposium on Haskell
Iterative interpretation of tail-recursive LISP procedures
ACM Lisp Bulletin
Modular Reasoning in Object-Oriented Programming
Verified Software: Theories, Tools, Experiments
Pragmatic equivalence and safety checking in Cryptol
Proceedings of the 3rd workshop on Programming languages meets program verification
The worker/wrapper transformation
Journal of Functional Programming
Science of Computer Programming
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
A Context-based Approach to Proving Termination of Evaluation
Electronic Notes in Theoretical Computer Science (ENTCS)
Losing functions without gaining data: another look at defunctionalisation
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
Journal of Functional Programming
Formal semantics of programming languages: VDL
IBM Journal of Research and Development
Static determination of quantitative resource usage for higher-order programs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-Order and Symbolic Computation
Quasi-interpretation synthesis by decomposition an application to higher-order programs
ICTAC'07 Proceedings of the 4th international conference on Theoretical aspects of computing
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Agent-oriented programming: from prolog to guarded definite clauses
Agent-oriented programming: from prolog to guarded definite clauses
Functional derivation of a virtual machine for delimited continuations
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Generic record combinators with static type checking
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Abstract interpreters for free
SAS'10 Proceedings of the 17th international conference on Static analysis
Infinitary Combinatory Reduction Systems
Information and Computation
From type checking by recursive descent to type checking with an abstract machine
Proceedings of the Eleventh Workshop on Language Descriptions, Tools and Applications
Predicate abstraction and CEGAR for higher-order model checking
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Abstracting abstract machines: a systematic approach to higher-order program analysis
Communications of the ACM
Proceedings of the fifth international workshop on High-level parallel programming and applications
Typed self-interpretation by pattern matching
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Proceedings of the 10th ACM international conference on Generative programming and component engineering
A theory of substructural types and control
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
A rational deconstruction of landin's j operator
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
Defunctionalized interpreters for call-by-need evaluation
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Böhm theorem and Böhm trees for the Λμ-calculus
Theoretical Computer Science
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
A lambda-calculus model of programming languages-I. Simple constructs
Computer Languages
Compiling lambda-expressions using continuations and factorizations
Computer Languages
A systematic approach to delimited control with multiple prompts
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Survey: A survey of state vectors
Computer Science Review
Automatic generation of execution tools in a GANDALF environment
Journal of Systems and Software
A Two-Level Logic Approach to Reasoning About Computations
Journal of Automated Reasoning
Operational semantics using the partiality monad
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Constructing customized interpreters from reusable evaluators using GAME
SC'12 Proceedings of the 11th international conference on Software Composition
Functional semantics of parsing actions, and left recursion elimination as continuation passing
Proceedings of the 14th symposium on Principles and practice of declarative programming
Proceedings of the 2012 ACM conference on Computer and communications security
Proceedings of the Twelfth Workshop on Language Descriptions, Tools, and Applications
The Intel labs Haskell research compiler
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Are needed redexes really needed?
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Engineering definitional interpreters
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
A synthetic operational account of call-by-need evaluation
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
A logical correspondence between natural semantics and abstract machines
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
A modular and generic analysis server system for functional logic programs
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.08 |
Higher-order programming languages (i.e., languages in which procedures or labels can occur as values) are usually defined by interpreters which are themselves written in a programming language based on the lambda calculus (i.e., an applicative language such as pure LISP). Examples include McCarthy's definition of LISP, Landin's SECD machine, the Vienna definition of PL/I, Reynolds' definitions of GEDANKEN, and recent unpublished work by L. Morris and C. Wadsworth. Such definitions can be classified according to whether the interpreter contains higher-order functions, and whether the order of application (i.e., call-by-value versus call-by-name) in the defined language depends upon the order of application in the defining language. As an example, we consider the definition of a simple applicative programming language by means of an interpreter written in a similar language. Definitions in each of the above classifications are derived from one another by informal but constructive methods. The treatment of imperative features such as jumps and assignment is also discussed.