TIM: A simple, lazy abstract machine to execute supercombinators
Proc. of a conference on Functional programming languages and computer architecture
I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
A fresh look at combinator graph reduction
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
The semantics of lazy functional languages
Theoretical Computer Science
Optimal derivations in weak lambda-calculi and in orthogonal term rewriting systems
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A modular fully-lazy lambda lifter in Haskell
Software—Practice & Experience
A syntactic approach to program transformations
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An adequate operational semantics of sharing in lazy evaluation
ESOP'92 Symposium proceedings on 4th European symposium on programming
Efficient compilation of lazy evaluation
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Proceedings of the 1992 Glasgow Workshop on Functional Programming
Profiling Lazy Functional Programs
Proceedings of the 1992 Glasgow Workshop on Functional Programming
From operational definitions to abstract semantics
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
A call-by-need lambda calculus
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Time and space profiling for non-strict, higher-order functional languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Abstract models of memory management
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Let-floating: moving bindings to give faster programs
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Functional back-ends within the lambda-sigma calculus
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Functional computation as concurrent computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Formally based profiling for higher-order functional languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Rolling your own mutable ADT—a connection between linear types and monads
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The π-calculus in direct style
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A demand-driven set-based analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From SOS rules to proof principles: an operational metatheory for functional languages
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type based sharing analysis for update avoidance and optimisation
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The spineless tagless G-machine, naturally
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A non-deterministic call-by-need lambda calculus
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Improvement in a lazy context: an operational theory for call-by-need
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An operational semantics for parallel lazy evaluation
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
A model for comparing the space usage of lazy evaluators
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Possibilities and limitations of call-by-need space improvement
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
The π-Calculus in Direct Style
Higher-Order and Symbolic Computation
Erratic fudgets: a semantic theory for an embedded coordination language
Science of Computer Programming - Special issue on coordination languages and architectures
Explicit Substitutions and Programming Languages
Proceedings of the 19th Conference on Foundations of Software Technology and Theoretical Computer Science
Erratic Fudgets: A Semantic Theory for an Embedded Coordination Language
COORDINATION '99 Proceedings of the Third International Conference on Coordination Languages and Models
Towards an Operational Semantics for a Parallel Non-Strict Functional Language
IFL '98 Selected Papers from the 10th International Workshop on 10th International Workshop
A Usage Analysis with Bounded Usage Polymorphism and Subtyping
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
Proving the Correctness of the STG Machine
IFL '02 Selected Papers from the 13th International Workshop on Implementation of Functional Languages
Observable Sharing for Functional Circuit Description
ASIAN '99 Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science
Demonstrating lambda calculus reduction
The essence of computation
Formally deriving an STG machine
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
From λ to π; or, Rediscovering continuations
Mathematical Structures in Computer Science
Uniform confluence in concurrent computation
Journal of Functional Programming
Profiling large-scale lazy functional programs
Journal of Functional Programming
The call-by-need lambda calculus
Journal of Functional Programming
Functional runtime systems within the lambda-sigma calculus
Journal of Functional Programming
Deriving a lazy abstract machine
Journal of Functional Programming
The call-by-need lambda calculus
Journal of Functional Programming
A functional correspondence between call-by-need evaluators and lazy abstract machines
Information Processing Letters
A semantics for tracing declarative multi-paradigm programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Parallel functional programming in Eden
Journal of Functional Programming
Lightweight program specialization via dynamic slicing
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Journal of Functional Programming
Call-by-need in token-passing nets
Mathematical Structures in Computer Science
A syntactic correspondence between context-sensitive calculi and abstract machines
Theoretical Computer Science
Structure and Properties of Traces for Functional Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Using Maude and Its Strategies for Defining a Framework for Analyzing Eden Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
A simple rewrite notion for call-time choice semantics
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Equivalence of Two Formal Semantics for Functional Logic Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Plugging a Space Leak with an Arrow
Electronic Notes in Theoretical Computer Science (ENTCS)
Explaining the lazy Krivine machine using explicit substitution and addresses
Higher-Order and Symbolic Computation
Improving the lazy Krivine machine
Higher-Order and Symbolic Computation
Heap recycling for lazy languages
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Lightweight semiformal time complexity analysis for purely functional data structures
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Complete Laziness: a Natural Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Minimality in a Linear Calculus with Iteration
Electronic Notes in Theoretical Computer Science (ENTCS)
Proving Correctness of an Efficient Abstraction for Interrupt Handling
Electronic Notes in Theoretical Computer Science (ENTCS)
Unrestricted pure call-by-value recursion
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Implementation and Application of Functional Languages
A Single-Step Term-Graph Reduction System for Proof Assistants
Applications of Graph Transformations with Industrial Relevance
Lazy evaluation and delimited control
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A flexible framework for programming with non-deterministicfunctions
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Preserving Sharing in the Partial Evaluation of Lazy Functional Programs
Logic-Based Program Synthesis and Transformation
Recent Advances in Reinforcement Learning
From natural semantics to c: A formal derivation of two stg machines
Journal of Functional Programming
Decompilation of Java bytecode to Prolog by partial evaluation
Information and Software Technology
Purely functional lazy non-deterministic programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Type-safe observable sharing in Haskell
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
To be or not to be ...lazy (In a Parallel Context)
Electronic Notes in Theoretical Computer Science (ENTCS)
Witnessing Purity, Constancy and Mutability
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Dealing Denotationally With Stream-based Communication
Electronic Notes in Theoretical Computer Science (ENTCS)
Static determination of quantitative resource usage for higher-order programs
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming with singular and plural non-deterministic functions
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Small-step and big-step semantics for call-by-need
Journal of Functional Programming
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Introducing debugging capabilities to natural semantics
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Correctness of copy in calculi with letrec
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
On a tighter integration of functional and logic programming
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Using intersection types for cost-analysis of higher-order polymorphic functional programs
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Upper bounds on stream I/O using semantic interpretations
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
Streamflow Programming Model for Data Streaming in Scientific Workflows
CCGRID '10 Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing
A systematic derivation of the STG machine verified in Coq
Proceedings of the third ACM Haskell symposium on Haskell
SAS'10 Proceedings of the 17th international conference on Static analysis
Relating function spaces to resourced function spaces
Proceedings of the 2011 ACM Symposium on Applied Computing
Flexible dynamic information flow control in Haskell
Proceedings of the 4th ACM symposium on Haskell
Nondeterminism analysis of functional logic programs
ICLP'05 Proceedings of the 21st international conference on Logic Programming
A unified approach to fully lazy sharing
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Overlapping rules and logic variables in functional logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Purely functional lazy nondeterministic programming
Journal of Functional Programming - Dedicated to ICFP 2009
Run-time profiling of functional logic programs
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
From natural semantics to abstract machines
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Reduction in a linear lambda-calculus with applications to operational semantics
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Sharing in the weak lambda-calculus
Processes, Terms and Cycles
Proof tool support for explicit strictness
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
Theoretical Computer Science
The call-by-need lambda calculus, revisited
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Corecursive Featherweight Java
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Side-effect localization for lazy, purely functional languages via aspects
Higher-Order and Symbolic Computation
Using functional languages to facilitate C++ metaprogramming
Proceedings of the 8th ACM SIGPLAN workshop on Generic programming
Automatic amortised analysis of dynamic memory allocation for lazy functional programs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
A locally nameless representation for a natural semantics for lazy evaluation
ICTAC'12 Proceedings of the 9th international conference on Theoretical Aspects of Computing
Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs
Causality of optimized Haskell: what is burning our cycles?
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
A synthetic operational account of call-by-need evaluation
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
We define an operational semantics for lazy evaluation which provides an accurate model for sharing. The only computational structure we introduce is a set of bindings which corresponds closely to a heap. The semantics is set at a considerably higher level of abstraction than operational semantics for particular abstract machines, so is more suitable for a variety of proofs. Furthermore, because a heap is explicitly modelled, the semantics provides a suitable framework for studies about space behaviour of terms under lazy evaluation.