Linking References


@CONFERENCE{Ancona84,
   AUTHOR    = "M. Ancona and L. De Floriani and D. Dodero and P. Thea",
   TITLE     = "Program Development by Using a Source Linker",
   BOOKTITLE = "4th Jerusalem Conference on Information technology (JCIT). 
                Next Decade in Information Technology",
   PAGES     = {251--259},
   ADDRESS   = "Jerusalem, Israel",
   MONTH     = may,
   YEAR      = 1984,
   KEYWORDS  = "COMPILER, LINKER"
}

@BOOK{Beck90,
   AUTHOR    = "Leland L. Beck",
   TITLE     = "System Software -- An Introduction to 
                Systems Programming",
   EDITION   = "second",
   PUBLISHER = Addison,
   NOTE      = "ISBN 0-201-50945-8",
   YEAR      = 1990,
   KEYWORDS  = "PROGRAMMING, LINKER, LOADER, ASSEMBLER"
}

@CONFERENCE{Benitez88,
   AUTHOR    = "Manuel E. Benitez and Jack W. Davidson",
   TITLE     = "A Portable Global Optimizer and Linker",
   BOOKTITLE = "Proceedings of the SIGPLAN'88 Conference
                on Programming Language Design and Implementation",
   PAGES     = {329--338},
   ADDRESS   = "Atlanta, Georgia, USA",
   MONTH     = jun,
   YEAR      = 1988,
   KEYWORDS  = "COMPILER, LINKER, GLOBAL OPTIMIZATION, INTERMEDIATE CODE, RTL,
                REGISTER ALLOCATION"
}

@ARTICLE{Bivens90,
   AUTHOR    = "Mary P. Bivens and Mary Lou Soffa",
   TITLE     = "Incremental Register Reallocation",
   JOURNAL   = SPE,
   PAGES     = {1015--1047},
   VOLUME    = 20,
   NUMBER    = 10,
   MONTH     = oct,
   YEAR      = 1990,
   KEYWORDS  = "COMPILER, LINKER, CODE GENERATION, REGISTER ALLOCATION"
}

@TECHREPORT{Burstall84,
   TITLE        = "A Kernel Language for Modules and Abstract Data Types",
   AUTHOR       = "R. Burstall and B. Lampson",
   ORGANIZATION = "DEC SRC",
   PAGES        = {1--51},
   MONTH        = sep,
   NUMBER       = 1,
   YEAR         = 1984,
   NOTE     = "http://www.research.digital.com/SRC/publications/src-rr.html",
   URL      = { Burstall84 },
   ABSTRACT = "
      A small set of constructs can simulate a wide variety of apparently
      distinct features in modern programming languages.  Using a kernel
      language called Pebble based on the typed lambda calculus with
      bindings, declarations, and types as first-class values, we show how to
      build modules, interfaces and implementations, abstract data types,
      generic types, recursive types, and unions.  Pebble has a concise
      operational semantics given by inference rules.",
   ANNOTATE = "
      Programming-language designers have invented a variety of language
      extensions and special notations to deal with several problems that
      arise in programming in the large.  Some of the differences among such
      features in Ada, CLU, Euclid, Mesa, ML, Modula, Russell, SML, et al.
      are superficial; others are fundamental.  Without a uniform semantic
      framework it is difficult to compare and evaluate these features, or to
      determine which choices are arbitrary and which are tightly
      constrained.  Pebble is a simpler language, intended for the precise
      description of language constructs.  It is used to explain strongly
      typed module interconnection languages, abstract data types, and
      procedures that are parameterized with respect to the types of
      operands.  It is based on the typed lambda calculus, extended to
      encompass the linking together of separately checked modules into a
      program.  Bindings, declarations, and types -- as well as functions --
      are all treated as first-class values; the type system includes
      dependent types.  This paper presents an informal overview of why the
      approach can be expected to work.  But the precise definition of the
      features of existing languages in terms of Pebble is left as ``an
      exercise for the reader.'' The semantics of Pebble are presented both
      informally and formally.  Representative cases are presented in great
      detail, to illustrate the workings of the formalism.  Jim Horning",
   KEYWORDS = "LINKING, ADA, CLU, EUCLID, MESA, ML, MODULA, RUSSEL, SML,
               PEBBLE"
}

@UNPUBLISHED{CardelliXX,
   TITLE = "Program Fragments, Linking, and Modularization",
   AUTHOR = "Luca Cardelli",
   ANNOTATE = "
      Luca Cardelli has written a paper $\cdots$ which is a 
      systematic account of linking.  The paper explores
      the view that linking is cut elimination.  As far as 
      I know it has not been published. Robert Harper in comp.compilers",
   KEYWORDS = "LINKING"
}

@CONFERENCE{Celentano78,
   AUTHOR    = "A. Celentano and P. Della Vigna and C. Ghezzi and D. Mandrioli",
   TITLE     = "Modularization of Block-structured Languages: 
                The Case of {Pascal}",
   BOOKTITLE = "Workshop on Reliable Software",
   ADDRESS   = "Bonn, Germany",
   PAGES     = {167--79},
   MONTH     = sep,
   YEAR      = 1978,
   KEYWORDS  = "PROGLANG, COMPILER, LINKER, INTERFACES, MODULE, 
                SEPARATE COMPILATION"
}

@ARTICLE{Celentano80a,
   AUTHOR    = "A. Celentano and P. Della Vigna and C. Ghezzi and D. Mandrioli",
   TITLE     = "Separate Compilation and Partial Specification in {Pascal}",
   JOURNAL   = SOFTENG,
   VOLUME    = 6,
   PAGES     = {320--328},
   MONTH     = jul,
   YEAR      = 1980,
   COMMENT   = "Used to be Celentano80",
   KEYWORDS  = "PROGLANG, COMPILER, LINKER, INTERFACES, MODULE, 
                SEPARATE COMPILATION"
}

@ARTICLE{Chang92,
   AUTHOR    = "Pohua P. Chang and Scott A. Mahlke and
                William Y. Chen and Wen-Mei W. Hwu",
   TITLE     = "Profile-guided Automatic Inline Expansion for {C} Programs",
   JOURNAL   = SPE,
   VOLUME    = 22,
   NUMBER    = 5,
   PAGES     = {349--369},
   MONTH     = may,
   YEAR      = 1992,
   KEYWORDS  = "COMPILER, PROFILE, COAGULATING OPTIMIZATION, INLINE, LINKER"
}

@CONFERENCE{Chow86,
   AUTHOR    = "F. Chow and M. Himelstein and E. Killian and L. Weber",
   TITLE     = "Engineering a {RISC} Compiler System",
   BOOKTITLE = "IEEE COM