Contracts for first-class modules
DLS '09 Proceedings of the 5th symposium on Dynamic languages
Execution levels for aspect-oriented programming
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Definition and implementation of a semantic mapping for UML-RT using a timed pi-calculus
Proceedings of the Second International Workshop on Behaviour Modelling: Foundation and Applications
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Random testing for higher-order, stateful programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Minding the (semantic) gap: engineering programming language theory
Proceedings of the FSE/SDP workshop on Future of software engineering research
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Correct blame for contracts: no more scapegoating
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantics for execution levels with exceptions
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Abstracting abstract machines: a systematic approach to higher-order program analysis
Communications of the ACM
Mikibeta: a general GUI library for visualizing proof trees system description and demonstration
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
Temporal higher-order contracts
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Evaluating call-by-need on the control stack
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
On contract satisfaction in a higher-order world
ACM Transactions on Programming Languages and Systems (TOPLAS)
A correspondence between type checking via reduction and type checking via evaluation
Information Processing Letters
A DSL for writing type systems for Xtext languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
A semantics for context-sensitive reduction semantics
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Modeling asynchronous message passing for c programs
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
The call-by-need lambda calculus, revisited
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Modeling and reasoning about DOM events
WebApps'12 Proceedings of the 3rd USENIX conference on Web Application Development
Towards a unified theory of operational and axiomatic semantics
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
Proof-producing synthesis of ML from higher-order logic
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
A tested semantics for getters, setters, and eval in JavaScript
Proceedings of the 8th symposium on Dynamic languages
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Checking reachability using matching logic
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Gradual typing for first-class classes
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
From stack traces to lazy rewriting sequences
IFL'11 Proceedings of the 23rd international conference on Implementation and Application of Functional Languages
Secure and modular access control with aspects
Proceedings of the 12th annual international conference on Aspect-oriented software development
Implementing Java-like languages in Xtext with Xsemantics
Proceedings of the 28th Annual ACM Symposium on Applied Computing
True small-step reduction for imperative object oriented languages
Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs
Modular and automated type-soundness verification for language extensions
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Optimizing abstract abstract machines
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Experience report: applying random testing to a base type environment
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
LVars: lattice-based data structures for deterministic parallelism
Proceedings of the 2nd ACM SIGPLAN workshop on Functional high-performance computing
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
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Growing solver-aided languages with rosette
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
Submodules in racket: you want it when, again?
Proceedings of the 12th international conference on Generative programming: concepts & experiences
Contracts for First-Class Classes
ACM Transactions on Programming Languages and Systems (TOPLAS)
CakeML: a verified implementation of ML
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Freeze after writing: quasi-deterministic parallel programming with LVars
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
A hybrid class- and prototype-based object model to support language-neutral structural intercession
Information and Software Technology
Science of Computer Programming
Hi-index | 0.03 |
This text is the first comprehensive presentation of reduction semantics in one volume; it also introduces the first reliable and easy-to-use tool set for such forms of semantics. Software engineers have long known that automatic tool support is critical for rapid prototyping and modeling, and this book is addressed to the working semantics engineer (graduate student or professional language designer). The book comes with a prototyping tool suite to develop, explore, test, debug, and publish semantic models of programming languages. With PLT Redex, semanticists can formulate models as grammars and reduction models on their computers with the ease of paper and pencil. The text first presents a framework for the formulation of language models, focusing on equational calculi and abstract machines, then introduces PLT Redex, a suite of software tools for expressing these models as PLT Redex models. Finally, experts describe a range of models formulated in Redex. PLT Redex comes with the PLT Scheme implementation, available free at http://www.plt-scheme.org/. Readers can download the software and experiment with Redex as they work their way through the book. For more information (including the preface, a sample syllabus, and a quick introduction to Redex), see the Redex website at http://redex.plt-scheme.org/. Matthias Felleisen, Robert Bruce Findler, and Matthew Flatt are the authors (with Shiram Krishnamurthi) of How to Design Programs: An Introduction to Programming and Computing, also published by the MIT Press.