Linguistic reflection allows a running program to generate new program fragments and to integrate these into its own execution. The advantages of the technique include attaining high levels of genericity and accommodating system evolution. Here its use to provide generic programs in Java is compared for a particular example, natural join, against alternative implementation approaches. Introduction Linguistic reflection may be defined as the ability of a running program to generate new program fragments and to integrate these into its own execution. We have described elsewhere how this style of reflection may be provided in the compiled, strongly typed language Java and used as a paradigm for program generation [KMS98]. The motivation for this work comes from the desire for two advanced programming capabilities. The first is the ability to implement highly abstract (generic) specifications, using a meta-level description of types, within a strongly typed programming language. The seco..
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.