Systems programming with Modula-3
Systems programming with Modula-3
A machine-independent debugger
Software—Practice & Experience
Advanced Windows (3rd ed.)
Programming language pragmatics
Programming language pragmatics
Implicit parameters: dynamic scoping with static types
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A new implementation of the Icon language
Software—Practice & Experience
The ICON Programming Language
Java Virtual Machine Specification
Java Virtual Machine Specification
A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Aspect-oriented programming with Jiazzi
Proceedings of the 2nd international conference on Aspect-oriented software development
Dynamically scoped functions as the essence of AOP
ACM SIGPLAN Notices
Software—Practice & Experience
Program Transformation with Scoped Dynamic Rewrite Rules
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
Implicit and dynamic parameters in c++
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
Towards context-sensitive intelligence
EWSA'05 Proceedings of the 2nd European conference on Software Architecture
Program Transformation with Scoped Dynamic Rewrite Rules
Fundamenta Informaticae - Program Transformation: Theoretical Foundations and Basic Techniques. Part 2
Hi-index | 0.00 |
Most programming languages use static scope rules for associating uses of identifiers with their declarations. Static scope helps catch errors at compile time, and it can be implemented efficiently. Some popular languages—Perl, Tel, TeX, and Postscript—offer dynamic scope, because dynamic scope works well for variables that “customize” the execution environment, for example. Programmers must simulate dynamic scope to implement this kind of usage in statically scoped languages. This paper describes the design and implementation of imperative language constructs for introducing and referencing dynamically scoped variables—dynamic variables for short. The design is a minimalist one, because dynamic variables are best used sparingly, much like exceptions. The facility does, however, cater to the typical uses for dynamic scope, and it provides a cleaner mechanism for so-called thread-local variables. A particularly simple implementation suffices for languages without exception handling. For languages with exception handling, a more efficient implementation builds on existing compiler infrastructure. Exception handling can be viewed as a control construct with dynamic scope. Likewise, dynamic variables are a data construct with dynamic scope.