Cognitive dimensions of notations
Proceedings of the fifth conference of the British Computer Society, Human-Computer Interaction Specialist Group on People and computers V
Recursive applicative program schemes
Handbook of theoretical computer science (vol. B)
Subrecursive programming systems: complexity & succinctness
Subrecursive programming systems: complexity & succinctness
An introduction to Kolmogorov complexity and its applications (2nd ed.)
An introduction to Kolmogorov complexity and its applications (2nd ed.)
Computability and complexity: from a programming perspective
Computability and complexity: from a programming perspective
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A history of modern computing
LOGSPACE and PTIME characterized by programming languages
Theoretical Computer Science - Special issue on mathematical foundations of programming semantics
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Approximating the smallest grammar: Kolmogorov complexity in natural models
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
ACM '59 Preprints of papers presented at the 14th national meeting of the Association for Computing Machinery
Efficient Multi-level Generating Extensions for Program Specialization
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Cognitive Dimensions of Notations: Design Tools for Cognitive Technology
CT '01 Proceedings of the 4th International Conference on Cognitive Technology: Instruments of Mind
The complexity of loop programs
ACM '67 Proceedings of the 1967 22nd national conference
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
An overview of the ECL programming system
Proceedings of the international symposium on Extensible languages
An implementation of ECL data types
Proceedings of the international symposium on Extensible languages
Interpreter/compiler integration in ECL
Proceedings of the international symposium on Extensible languages
Elements Of Finite Model Theory (Texts in Theoretical Computer Science. An Eatcs Series)
Elements Of Finite Model Theory (Texts in Theoretical Computer Science. An Eatcs Series)
Statically safe program generation with safegen
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Parsimony principles for software components and metalanguages
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Backstage Java: making a difference in metaprogramming
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Early detection of type errors in C++ templates
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
The design of metaprogramming languages requires appreciation of the tradeoffs that exist between important language characteristics such as safety properties, expressive power, and succinctness. Unfortunately, such tradeoffs are little understood, a situation we try to correct by embarking on a study of metaprogramming language tradeoffs using tools from computability theory. Safety properties of metaprograms are in general undecidable; for example, the property that a metaprogram always halts and produces a type-correct instance is Π02-complete. Although such safety properties are undecidable, they may sometimes be captured by a restricted language, a notion we adapt from complexity theory. We give some sufficient conditions and negative results on when languages capturing properties can exist: there can be no languages capturing total correctness for metaprograms, and no 'functional' safety properties above Σ03 can be captured. We prove that translating a metaprogram from a general-purpose to a restricted metaprogramming language capturing a property is tantamount to proving that property for the metaprogram.