A survey of metaprogramming languages
Metaprogramming is the process of writing computer programs that treat programs as data,
enabling them to analyze or transform existing programs or generate new ones. While the …
enabling them to analyze or transform existing programs or generate new ones. While the …
Dynamically typed languages
L Tratt - Advances in Computers, 2009 - Elsevier
Dynamically typed languages such as Python and Ruby have experienced a rapid grown in
popularity in recent times. However, there is much confusion as to what makes these …
popularity in recent times. However, there is much confusion as to what makes these …
Template meta-programming for Haskell
We propose a new extension to the purely functional programming language Haskell that
supports compile-time meta-programming. The purpose of the system is to support the …
supports compile-time meta-programming. The purpose of the system is to support the …
A lightweight symbolic virtual machine for solver-aided host languages
Solver-aided domain-specific languages (SDSLs) are an emerging class of computer-aided
programming systems. They ease the construction of programs by using satisfiability solvers …
programming systems. They ease the construction of programs by using satisfiability solvers …
The essence of command injection attacks in web applications
Z Su, G Wassermann - Acm Sigplan Notices, 2006 - dl.acm.org
Web applications typically interact with a back-end database to retrieve persistent data and
then present the data to the user as dynamically generated output, such as HTML web …
then present the data to the user as dynamically generated output, such as HTML web …
Revised5 Report on the Algorithmic Language Scheme
H Abelson, RK Dybvig, CT Haynes, GJ Rozas… - Higher-order and …, 1998 - Springer
The report gives a defining description of the programming language Scheme. Scheme is a
statically scoped and properly tail-recursive dialect of the Lisp programming language …
statically scoped and properly tail-recursive dialect of the Lisp programming language …
DrScheme: A programming environment for Scheme
DrScheme is a programming environment for Scheme. It fully integrates a graphics-enriched
editor, a parser for multiple variants of Scheme, a functional read-eval-print loop, and an …
editor, a parser for multiple variants of Scheme, a functional read-eval-print loop, and an …
An empirical analysis of C preprocessor use
MD Ernst, GJ Badros, D Notkin - IEEE Transactions on Software …, 2002 - ieeexplore.ieee.org
This is the first empirical study of the use of the C macro preprocessor, Cpp. To determine
how the preprocessor is used in practice, this paper analyzes 26 packages comprising 1.4 …
how the preprocessor is used in practice, this paper analyzes 26 packages comprising 1.4 …
SugarJ: Library-based syntactic language extensibility
Existing approaches to extend a programming language with syntactic sugar often leave a
bitter taste, because they cannot be used with the same ease as the main extension …
bitter taste, because they cannot be used with the same ease as the main extension …
A programmable programming language
A programmable programming language Page 1 62 COMMUNICATIONS OF THE ACM | MARCH
2018 | VOL. 61 | NO. 3 IN THE IDEAL world, software developers would analyze each problem …
2018 | VOL. 61 | NO. 3 IN THE IDEAL world, software developers would analyze each problem …