A survey of metaprogramming languages

Y Lilis, A Savidis - ACM Computing Surveys (CSUR), 2019 - dl.acm.org
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 …

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 …

Template meta-programming for Haskell

T Sheard, SP Jones - Proceedings of the 2002 ACM SIGPLAN workshop …, 2002 - dl.acm.org
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 …

A lightweight symbolic virtual machine for solver-aided host languages

E Torlak, R Bodik - ACM SIGPLAN Notices, 2014 - dl.acm.org
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 …

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 …

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 …

DrScheme: A programming environment for Scheme

RB Findler, J Clements, C Flanagan, M Flatt… - Journal of functional …, 2002 - cambridge.org
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 …

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 …

SugarJ: Library-based syntactic language extensibility

S Erdweg, T Rendel, C Kästner… - Proceedings of the 2011 …, 2011 - dl.acm.org
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 …

A programmable programming language

M Felleisen, RB Findler, M Flatt… - Communications of the …, 2018 - dl.acm.org
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 …