[racket] Help generating PDF documents with Scribble

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Mar 14 11:27:39 EDT 2013

On Mar 12, 2013, at 10:18 AM, George Rudolph wrote:

> 1.      Is there a way to specify an Abstract in Scribble with the default base article document type?

Like in latex, just use an unnumbered[*] section labeled "Abstract". 


> 2.      Is there example code for constructing a bibliography with entries that I can use as a model?

See end of message for a sample library. 


> 3.      I have also tried using the sigplan document type, but it is generating two-column format even though
> I have specified the one-column attribute, and one-column is specified in the LaTex that Scribble
> generates as well. Is there a bug a in the underlying LaTex definition for the sigplan document class?

This is a bug in the underlying sigplan style. I have to fix this over and over again myself. 

[*] It is possible that the supported unnumbered style is only in the git head of scribble. 



#lang at-exp racket

(require scriblib/autobib scribble/core (only-in scribble/manual emph)
         scribble/decode scribble/base)

(provide (all-defined-out))

(define-cite cite citet gen-bib)

(define bagwell (author-name "Phil" "Bagwell"))
(define okasaki (author-name "Chris" "Okasaki"))

(define oka
  (make-bib #:title "Purely Functional Data Structures"
            #:is-book? #t
            #:author okasaki
            #:location (book-location #:publisher "Cambridge University Press")
            #:date "1998"))
(define bagwell-lists
  (make-bib #:title "Fast Functional Lists, Hash-Lists, Deques and Variable Length Arrays"
            #:is-book? #f
            #:author bagwell
            #:location "In Implementation of Functional Languages, 14th International Workshop"
            #:date "2002"))
(define bagwell-trie
  (make-bib  #:title "Fast And Space Efficient Trie Searches"
             #:is-book? #f
             #:author bagwell
             #:location "Technical report, 2000/334, Ecole Polytechnique  F´ed´erale de Lausanne"
             #:date "2000"))
(define hood-mel
  (make-bib  #:title "Real-time queue operations in pure Lisp"
             #:is-book? #f
             #:author (authors "Robert Hood" "Robert Melville")
             #:location "Information Processing Letters, 13(2):50-53"
             #:date "1981"))
(define pairing
  (make-bib  #:title "The pairing heap: A new form of self-adjusting heap"
             #:is-book? #f
             #:author (authors "Michael L. Fredman" "Robert Sedgewick" "Daniel D. K. Sleator" "Robert E. Tarjan")
             #:location "Algorithmica 1 (1): 111-129"
             #:date "1986"))
(define vuillemin
  (make-bib  #:title "A data structure for manipulating priority queues"
             #:is-book? #f
             #:author (author-name "Jean" "Vuillemin")
             #:location "Communications of the ACM, 21(4):309-315"
             #:date "1978"))
(define brown
  (make-bib  #:title "Implementation and analysis of binomial queue algorithms"
             #:is-book? #f
             #:author (author-name "Mark R" "Brown")
             #:location "SIAM J. on Computing, 7(3):298-319"
             #:date "1978"))
(define crane
  (make-bib  #:title "Linear lists and priority queues as balanced binary trees"
             #:is-book? #f
             #:author (author-name "Clark Allan" "Crane")
             #:location "PhD thesis, Computer Science Department, Stanford University. STAN-CS-72-259."
             #:date "1972"))
(define sla
  (make-bib  #:title "Self-adjusting binary search trees"
             #:is-book? #f
             #:author (authors "Daniel D. K. Sleator" "Robert E. Tarjan")
             #:location "J. of the ACM, 32(3):652-686"
             #:date "1985"))
(define kaplan-tarjan
  (make-bib #:title "Persistent lists with catenation via recursive slow-down"
            #:is-book? #f
            #:author (authors "Haim Kaplan" "Robert E. Tarjan")
            #:location "Proceedings of the twenty-seventh annual ACM symp. on Theory of computing"
            #:date "1995"))
(define oka-red-black
  (make-bib #:title "Red-Black Trees in Functional Setting"
            #:is-book? #f
            #:author okasaki
            #:location "J. Functional Programming"
            #:date "1999"))
(define finger
  (make-bib #:title "Finger trees: a simple general-purpose data structure"
            #:is-book? #f
            #:author (authors "Ralf Hinze" "Ross Paterson")
            #:location "J. Functional Programming"
            #:date "2006"))

(define srfi/1
  (make-bib #:title "SRFI-1: List Library"
            #:author "Olin Shivers"
            #:date "1999"))
(define thf-popl
  (make-bib #:title "The design and implementation of Typed Scheme"
            #:author (authors "Sam Tobin-Hochstadt" "Matthias Felleisen")
            #:location (proceedings-location "Symp. on Principles of Programming Languages"
                                             #:pages '(395 406))
            #:date "2008"))
(define thf-dls
  (make-bib #:title "Interlanguage refactoring: from scripts to programs"
            #:author (authors "Sam Tobin-Hochstadt" "Matthias Felleisen")
            #:location (proceedings-location "Dynamic Languages Symp."
                                             #:pages '(964 974))
            #:date "2006"))
(define ctf-scheme
  (make-bib #:title "Advanced Macrology and the Implementation of Typed Scheme"
            #:author (authors "Ryan Culpepper" "Sam Tobin-Hochstadt" "Matthew Flatt")
            #:location (proceedings-location "Scheme and Functional Programming")
            #:date "2007"))
(define thsacff-pldi
  (make-bib #:title "Languages as libraries"
            #:author (authors "Sam Tobin-Hochstadt" "Vincent St-Amour" "Ryan Culpepper" "Matthew Flatt" "Matthias Felleisen")
            #:location (proceedings-location "Programming Language Design and Implementation"
                                             #:pages '(132 141))
            #:date "2011"))
(define sathff-padl12
  (make-bib #:title "Typing the numeric tower"
            #:author (authors "Vincent St-Amour" "Sam Tobin-Hochstadt"
                              "Matthew Flatt" "Matthias Felleisen")
            #:location (proceedings-location
                        "International Symp. on Practical Aspects of Declarative Languages"
                        #:pages '(289 303))
            #:date "2012"))
(define stf-esop
  (make-bib #:title "Practical Variable-Arity Polymorphism"
            #:author (authors "T. Stephen Strickland" "Sam Tobin-Hochstadt" "Matthias Felleisen")
            #:location (proceedings-location "European Symp. on Programming")
            #:date "2009"))
(define th-diss
  (make-bib #:title "Typed Scheme: From Scripts to Programs"
            #:author "Sam Tobin-Hochstadt"
            #:is-book? #t
            #:location (dissertation-location #:institution "Northeastern University")
            #:date "2010"))
(define thf-icfp
  (make-bib #:title "Logical types for untyped languages"
            #:author (authors "Sam Tobin-Hochstadt" "Matthias Felleisen")
            #:location (proceedings-location "International Conf. on Functional Programming"
                                             #:pages '(117 128))
            #:date "2010"))
(define culpepper-scp
  (make-bib #:title "Debugging hygienic macros"
            #:author (authors "Ryan Culpepper" "Matthias Felleisen")
            #:location (journal-location "Science of Computer Programming"
                                         #:pages '(496 515)
                                         #:number "7"
                                         #:volume "75")
            #:date "2010"))
(define culpepper-icfp
  (make-bib #:title "Fortifying macros"
            #:author (authors "Ryan Culpepper" "Matthias Felleisen")
            #:location (proceedings-location "International Conf. on Functional Programming"
                                             #:pages '(235 246))
            #:date "2010"))

#|
@article{pierce:lti,
 author = {Benjamin C. Pierce and David N. Turner},
 title = {Local type inference},
 journal = toplas,
 volume = {22},
 number = {1},
 year = {2000},
 pages = {1--44},
 publisher = acmpress,
 address = nyny,
}
|#

(define (toplas p n v) 
  (journal-location "ACM Transactions on Programming Languages and Systems"
		    #:pages p
		    #:number (if (number? n) (number->string n) n)
		    #:volume (if (number? v) (number->string v) v)))

(define lti-journal
  (make-bib #:title "Local type inference"
	    #:location (toplas '(1 44) 1 22)
	    #:date "2000"
	    #:author (authors "Benjamin C. Pierce" "David N. Turner")))

(define skew
  (make-bib #:title "An applicative random-access stack"
            #:author "Eugene W. Myers"
            #:date "1983"
            #:location (journal-location "Information Processing Letters"
                                         #:pages '(241 248)
                                         #:number 5
                                         #:volume 17)))
(define (planet-cite pkg ver author [date #f])
  (make-bib #:title (format "~a, version ~a" pkg ver)
            #:author author
            #:date date
            #:location "PLaneT Package Repository"))

(define planet
  (make-bib #:title "Component Deployment with PLaneT: You Want it Where?"
            #:author "Jacob Matthews"
            #:date "2006"
            #:location (proceedings-location "Scheme and Functional Programming")))

(define galore (planet-cite "Galore" "4.2" "Jens Axel Soegaard"  "2009"))
(define dvh-ra (planet-cite "RaList: Purely Functional Random-Access Lists" 
                       "2.3"
                       (authors (author-name "David" "Van Horn"))
                       "2010"))

(define cce-queue
  (planet-cite "Scheme Utilities" "7" "Carl Eastlund" "2010"))

(define schelog
  (make-bib #:title "Programming in Schelog"
            #:author "Dorai Sitaram"
            #:url "http://www.ccs.neu.edu/~dorai/schelog/schelog.html"
            #:date "1993"))

(define clojure 
  (make-bib #:title "Clojure"
            #:author "Rich Hickey"
            #:date "2010"
            #:url "http://clojure.org"))

(define ansi-smalltalk
  (make-bib #:title "ANSI Smalltalk Standard"
            #:is-book? #t
            #:date "1998"))
(define smalltalk80
  (make-bib #:title "Smalltalk-80: the language and its implementation"
            #:author (authors "Adele Goldberg" "David Robson")
            #:date "1983"
            #:location (book-location #:publisher "Addison-Wesley")
            #:is-book? #t))

(define plt-tr1
  (make-bib #:title    "Reference: Racket"
            #:author   (authors "Matthew Flatt" "PLT")
            #:date     "2010"
            #:location (techrpt-location #:institution "PLT Inc."
                                         #:number "PLT-TR-2010-1")
            #:url      "http://racket-lang.org/tr1/"))

(define kohlbecker
  (make-bib #:title "Hygienic macro expansion"
            #:author (authors "Eugene Kohlbecker"
                              "Daniel P. Friedman"
                              "Matthias Felleisen"
                              "Bruce Duba")
            #:is-book? #f
            #:location (proceedings-location "Conf. on LISP and functional programming")
            #:date "1986"))
(define kohlbecker-diss
  (make-bib #:title "Syntactic Extensions in the Programming Language Lisp"
            #:author "Eugene Kohlbecker"
            #:is-book? #t
            #:location (dissertation-location #:institution "Indiana University")
            #:date "1986"))
(define macro-by-example
  (make-bib #:title "Macro-by-example: Deriving syntactic transformations from their specifications"
            #:author (authors "Eugene Kohlbecker" "Mitchell Wand")
            #:location (proceedings-location "Symp. on Principles of Programming Languages"
                                             #:pages '(77 84))
            #:date "1987"))
(define dybvig-syntactic-abstraction
  (make-bib #:title "Syntactic abstraction in Scheme"
            #:author (authors (author-name "R. Kent" "Dybvig") "Robert Hieb" "Carl Bruggeman")
            #:location (journal-location "Lisp and Symbolic Computation"
                                         #:pages '(295 326)
                                         #:number "4"
                                         #:volume "5")
            #:date "1992"))
(define dybvig-case-lambda
  (make-bib #:title "A new approach to procedures with variable arity"
            #:author (authors (author-name "R. Kent" "Dybvig") "Robert Hieb")
            #:date "1990"
            #:location (journal-location "Lisp and Symbolic Computation"
                                         #:pages '(229 244)
                                         #:number 3
                                         #:volume 3)))
(define lisp-hopl
  (make-bib #:title "The evolution of Lisp"
            #:author (authors (author-name "Guy L." "Steele Jr.") "Richard P. Gabriel")
            #:location (proceedings-location "Conf. on History of Programming Languages"
                                             #:pages '(231 270))
            #:date "1993"))

(define you-want-it-when
  (make-bib #:title "Composable and compilable macros: you want it when?"
            #:author "Matthew Flatt"
            #:is-book? #f
            #:location (proceedings-location "International Conf. on Functional Programming"
                                             #:pages '(72 83))
            #:date "2002"))
(define findler-contracts
  (make-bib #:title "Contracts for Higher-order Functions"
            #:author (authors "Robert Bruce Findler" "Matthias Felleisen")
            #:is-book? #f
            #:location (proceedings-location "International Conf. on Functional Programming")
            #:date "2002"))
(define fff-aplas
  (make-bib #:title "Scheme with classes, mixins, and traits"
            #:author (authors "Matthew Flatt" "Robert Bruce Findler" "Matthias Felleisen")
            #:location (proceedings-location "Asian Symp. on Programming Languages and Systems"
                                             #:pages '(270 289))
            #:date "2006"))
(define cof-cpce
  (make-bib #:title "Syntactic abstraction in component interfaces"
            #:author (authors "Ryan Culpepper" "Scott Owens" "Matthew Flatt")
            #:location (proceedings-location "Conf. Generative Programming and Component Engineering"
                                             #:pages '(373 388))
            #:date "2005"))
(define ff-pldi
  (make-bib #:title "Units: Cool modules for HOT languages"
            #:author (authors "Matthew Flatt" "Matthias Felleisen")
            #:location (proceedings-location "Conf. on Programming Language Design and Implementation"
                                             #:pages '(236 248))
            #:date "1998"))
(define khmgpf-hosc
  (make-bib #:title "Implementation and use of the PLT Scheme web server"
            #:author (authors "Shriram Krishnamurthi" "Peter Walton Hopkins" "Jay McCarthy"
                              "Paul T. Graunke" "Greg Pettyjohn" "Matthias Felleisen")
            #:location (journal-location "Higher-Order and Symbolic Computing"
                                         #:pages '(431 460)
                                         #:number "4"
                                         #:volume "20")
            #:date "2007"))

(define cltl2 (make-bib #:title "Common Lisp: the language"
                        #:is-book? #t
                        #:author (author-name "Guy L." "Steele Jr.")
                        #:location (book-location #:publisher "Digital Press"
                                                  #:edition "Second")
                        #:date "1994"))
(define r6rs (make-bib #:title @elem{Revised at superscript{6} report on the algorithmic language Scheme}
                       #:author (authors "Michael Sperber" "Matthew Flatt" "Anton Van Straaten" (author-name "R. Kent" "Dybvig") "Robert Bruce Findler" "Jacob Matthews" )
                       #:location (journal-location "J. of Functional Programming"
                                                    #:pages '(1 301)
                                                    #:number "S1"
                                                    #:volume "19")
                       #:date "2009"))

(define gabriel-benchmarks
  (make-bib #:title "Performance and evaluation of LISP systems"
            #:author "Richard P. Gabriel"
            #:is-book? #t
            #:location (book-location #:publisher "MIT Press")
            #:date "1985"))
(define larceny
  (make-bib #:title "Lambda, the ultimate label or a simple optimizing compiler for Scheme"
            #:author (authors "William D. Clinger" "Lars Thomas Hansen")
	    #:location (proceedings-location "Conf. on LISP and functional programming"
                                             #:pages '(128 139))
            #:date "1994"))
(define gambit
  (make-bib #:title "A parallel virtual machine for efficient Scheme compilation"
            #:author (authors "Marc Feeley" "James S. Miller")
	    #:location (proceedings-location "Conf. on LISP and Functional Programming"
                                             #:pages '(119 130))
            #:date "1990"))
(define bigloo
  (make-bib #:title "Bigloo: a portable and optimizing compiler for strict functional languages"
            #:author (authors "Manuel Serrano" "Pierre Weis")
	    #:location (proceedings-location "Static Analysis Symp."
                                             #:pages '(366 381))
            #:date "1995"))
(define shootout
  (make-bib #:title "The Computer Language Benchmarks Game"
            #:url "http://shootout.alioth.debian.org"
            #:date "2011"))
(define pseudoknot
  (make-bib #:title "Benchmarking implementations of functional languages with ``pseudoknot'' a float-intensive benchmark"
            #:author (authors "Pieter H. Hartel" "Marc Feeley" "Martin Alt" "Lennart Augustsson"
                              "Peter Baumann" "Marcel Beemster" "Emmanuel Chailloux" "Christine H. Flood"
                              "Wolfgang Grieskamp" "John H. G. van Groningen" "Kevin Hammond"
                              "Bogumił Hausman" "Melody Y. Ivory" "Richard E. Jones" "Jasper Kamperman"
                              "Peter Lee" "Xavier Leroy" "Rafael D. Lins" "Sandra Loosemore"
                              "Niklas Röjemo" "Manuel Serrano" "Jean-Pierre Talpin" "Jon Thackray"
                              "Stephen Thomas" "Pum Walters" "Pierre Weis" "E.P. Wentworth")
            #:is-book? #f
            #:location (journal-location "J. of Functional Programming"
                                         #:pages '(621 655)
                                         #:number "4"
                                         #:volume "6")
            #:date "1996"))
(define hari-pfds
  (make-bib #:title "Functional data structures for Typed Racket"
            #:author (authors (author-name "Hari" "Prashanth" #:suffix "K R") "Sam Tobin-Hochstadt")
            #:date "2010"
            #:location (proceedings-location "Works. Scheme and Functional Programming"
                                             #:pages '(1 7))))

(define iso-c
  (make-bib #:title "ISO C Standard 1999"
            #:author "ISO"
            #:date "1999"
            #:is-book? #t))
(define c++
  (make-bib #:title "The C++ programming language"
            #:author "Bjarne Stroustrup"
            #:is-book? #t
            #:date "2000"
            #:location (book-location #:publisher "Addison-Wesley" #:edition "third")))

(define java-spec
  (make-bib #:title "The Java™ language specification"
            #:author (authors "James Gosling" "Bill Joy" (author-name "Guy L." "Steele" #:suffix "Jr.") "Gilad Bracha")
            #:is-book? #t
            #:location (book-location #:publisher "Addison-Wesley"
                                      #:edition "Fourth")
            #:date "2005"))
(define algol-60
  (make-bib #:title "Revised report on the algorithm language ALGOL 60"
            #:author (authors "J. W. Backus" "F. L. Bauer" "J. Green" "C. Katz"
                              "J. McCarthy" "A. J. Perlis" "H. Rutishauser"
                              "K. Samelson" "B. Vauquois" "J. H. Wegstein"
                              "A. van Wijngaarden" "M. Woodger"
                              (author-name "P." "Naur" #:suffix "(editor)"))
            #:date "1963"
            #:location (journal-location "Commun. ACM"
                                         #:pages '(1 17)
                                         #:volume "6"
                                         #:number "1")))
(define simula-67
  (make-bib #:title "SIMULA 67 common base language"
            #:author "Ole-Johan Dahl"
            #:is-book? #t
            #:date "1968"
            #:location (book-location #:publisher "Norwegian Computing Center")))
(define sml-definition
  (make-bib #:title "The Definition of Standard ML, Revised Edition"
            #:author (authors "Robin Milner" "Mads Tofte" "Robert Harper" "David MacQueen")
            #:is-book? #t
            #:date "1997"
            #:location (book-location #:publisher "MIT Press")))
(define ocaml-manual
  (make-bib #:title "The Objective Caml system, Documentation and user's manual"
            #:author (authors "Xavier Leroy"
                              "Damien Doligez"
                              "Alain Frisch"
                              "Jacques Garrigue"
                              "Didier Rémy"
                              "Jérôme Vouillon")
            #:date "2010"))
(define haskell2010
  (make-bib #:title "Haskell 2010 Language Report"
            #:author (author-name "Simon" "Marlow" #:suffix "(editor)")
            #:is-book? #f
            #:date "2010"))
(define clean-lang
  (make-bib #:title "CLEAN: A language for functional graph rewriting"
            #:author (authors "T. H. Brus" "Marko C. J. D. van Eekelen" "M. O. van Leer" "Marinus J. Plasmeijer")
            #:location (proceedings-location "Functional Programming Languages and Computer Architecture")
            #:date "1987"))
(define chez-manual
  (make-bib #:title "Chez Scheme Version 8 User's Guide"
            #:author (author-name "R. Kent" "Dybvig")
            #:is-book? "#t"
            #:location (book-location #:publisher "Cadence Research Systems")
            #:date "2009"))

(define mw-91
  (make-bib #:title "Correctness of static flow analysis in continuation semantics"
            #:author (authors "Margaret Montenyohl" "Mitchell Wand")
            #:date "1991"
            #:location (journal-location "Science of Computer Programming"
                                         #:pages '(1 18)
                                         #:number "1"
                                         #:volume "16")))

(define orbit
  (make-bib #:title "ORBIT: an optimizing compiler for Scheme"
	    #:author (authors "Norman Adams" "David Kranz" "Richard Kelsey" "Jonathan Rees"
			      "Paul Hudak" "James Philbin")
	    #:location (proceedings-location "Symp. on Compiler Construction")
	    #:date "1986"))
(define kelsey-tc
  (make-bib #:title "Compilation by Program Transformation"
	    #:author "Richard Andrew Kelsey"
            #:is-book? #t
	    #:location (dissertation-location #:institution "Yale University")
	    #:date "1989"))
(define spj-esop96
  (make-bib #:title "Compiling Haskell by program transformation a report from the trenches"
            #:author (author-name "Simon L" "Peyton Jones")
            #:location (proceedings-location "European Symp. on Programming"
                                             #:pages '(18 44))
            #:date "1996"))
(define oo-dispatch
  (make-bib #:title "Optimization of Object-Oriented Programs using Static Class Hierarchy Analysis"
            #:author (authors "Jeffrey Dean" "David Grove" "Craig Chambers")
            #:location (proceedings-location "European Conf. on Object-Oriented Programming"
                                             #:pages '(77 101))
            #:date "1995"))

(define clements-extensible
  (make-bib #:title "A Comparison of Designs for Extensible and Extension-Oriented Compilers"
            #:author "Austin T. Clements"
            #:is-book? #t
            #:location (dissertation-location #:institution "Massachusetts Institute of Technology"
                                              #:degree "MS")
            #:date "2008"))

(define fisher+shivers (authors "David Fisher" "Olin Shivers")) ; for equality
(define fisher-icfp
  (make-bib #:title "Static semantics for syntax objects"
            #:author fisher+shivers
            #:location (proceedings-location "International Conf. on Functional Programming"
                                             #:pages '(111 121))
            #:date "2006"))
(define fbf-scribble
  (make-bib #:title "Scribble: closing the book on ad-hoc documentation tools"
            #:author (authors "Matthew Flatt" "Eli Barzilay" "Robert Bruce Findler")
            #:location (proceedings-location "International Conf. on Functional Programming"
                                             #:pages '(109 120))
            #:date "2009"))
(define fisher-jfp
  (make-bib #:title "Building language towers with Ziggurat"
            #:author fisher+shivers
            #:location (journal-location "J. of Functional Programming"
                                         #:pages '(707 780)
                                         #:volume "18"
                                         #:number "5-6")
            #:date "2008"))
(define fisher-dissertation
  (make-bib #:title "Static Semantics for Syntax Objects"
            #:author "David Fisher"
            #:is-book? #t
            #:location (dissertation-location #:institution "Northeastern University")
            #:date "2010"))

(define jse-oopsla
  (make-bib #:title "The Java syntactic extender"
            #:author (authors "Jonathan Bachrach" "Keith Playford")
            #:location (proceedings-location "Conf. Object-Oriented Programming Systems, Languages, and Applications"
                                             #:pages '(31 42))
            #:date "2001"))
(define meta-borg-oopsla
  (make-bib #:title "Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions"
            #:author (authors "Martin Bravenboer" "Eelco Visser")
            #:location (proceedings-location "Conf. Object-Oriented Programming Systems, Languages, and Applications"
                                             #:pages '(365 383))
            #:date "2004"))
(define xoc-asplos
  (make-bib #:title "Xoc, an extension-oriented compiler for systems programming"
            #:author (authors "Russ Cox" "Tom Bergan" "Austin T. Clements" "Frans Kaashoek" "Eddie Kohler")
            #:location (proceedings-location "Conf. Architectural Support for Programming Languages and Operating Systems"
                                             #:pages '(244 254))
            #:date "2008"))
(define polyglot-cc
  (make-bib #:title "Polyglot: an extensible compiler framework for Java"
            #:author (authors "Nathaniel Nystrom" "Michael Clarkson" "Andrew Myers")
            #:location (proceedings-location "International Conf. on Compiler Construction"
                                             #:pages '(138 152))
            #:date "2003"))

(define sk-diss
  (make-bib #:title "Linguistic Reuse"
            #:author "Shriram Krishnamurthi"
            #:date "2001"
            #:is-book? #t
            #:location (dissertation-location #:institution "Rice University")))

(define ciao-overview
  (make-bib #:title "An overview of the Ciao multiparadigm language and program development environment and its design philosophy"
            #:author (authors "Manuel V. Hermenegildo" "Francisco Bueno"
                              "Carro, Manuel"  "Pedro L´opez"  "José F. Morales" "German Puebla")
            #:location @(compose splice list){In @emph{Concurrency, Graphs and Models}. Springer-Verlag, pp. 209--237}
	    
            #:date "2008"))

#|
@incollection{Hermenegildo:2008:OCM:1424922.1424939,
 author = {Hermenegildo, Manuel V. and Bueno, Francisco and Carro, Manuel and L\'{o}pez, Pedro and Morales, Jos\'{e} F. and Puebla, German},
 chapter = {An Overview of the Ciao Multiparadigm Language and Program Development Environment and Its Design Philosophy},
 title = {Concurrency, Graphs and Models},
 editor = {Degano, Pierpaolo and Nicola, Rocco and Meseguer, Jos\'{e}},
 year = {2008},
 isbn = {978-3-540-68676-7},
 pages = {209--237},
 numpages = {29},
 url = {http://dx.doi.org/10.1007/978-3-540-68679-8_14},
 doi = {http://dx.doi.org/10.1007/978-3-540-68679-8_14},
 acmid = {1424939},
 publisher = {Springer-Verlag},
 address = {Berlin, Heidelberg},
}
|#

(define datalog-manual
  (make-bib #:url "http://docs.racket-lang.org/datalog"
            #:author "Jay McCarthy"
            #:date "2010"
            #:title "Datalog Module Language"))

(define growing-a-language
  (make-bib #:location (journal-location "Higher-Order and Symbolic Computation"
                                         #:pages '(221 236)
                                         #:number 3
                                         #:volume 12)
            #:title "Growing a language, Keynote at OOPSLA 1998"
            #:author (author-name "Guy L." "Steele Jr.")
            #:date "1999"))


(define prng
  (make-bib #:location (journal-location "IBM Systems Journal"
                                         #:pages '(136 146)
                                         #:number 2
                                         #:volume 8)
            #:title "A pseudo-random number generator for the System/360"
            #:author (authors (author-name "Peter A. W." "Lewis")
                              (author-name "A. S." "Goodman")
                              (author-name "J. M." "Miller"))
            #:date "1969"))

(define rfc761
  (make-bib #:title "DoD standard Transmission control protocol"
            #:author "Jon Postel"
            #:date "1980"
            #:location "IETF RFC 761"))
;; @misc{rfc761,
;;   author="J. Postel",
;;   title="{DoD standard Transmission Control Protocol}",
;;   series="Request for Comments",
;;   number="761",
;;   howpublished="RFC 761",
;;   publisher="IETF",
;;   organization="Internet Engineering Task Force",
;;   year=1980,
;;   month=jan,
;;     url="http://www.ietf.org/rfc/rfc761.txt",
;; }

(define haskell-numeric-prelude
  (make-bib #:title "Numeric prelude"
            #:author (authors (author-name "Henning" "Thielemann")
                              (author-name "Dylan" "Thurston")
                              (author-name "Mikael" "Johansson"))
            #:location "Haskell Communities and Activities Report"
            #:date "2008"))
(define habit-report
  (make-bib #:title "The Habit programming language: the revised preliminary report"
            #:author "Mark P. Jones"
            #:date "2010"))

(define coppo-intersection
  (make-bib #:title "A new type assignment for λ-terms"
            #:author (authors "Mario Coppo" "Mariangiola Dezani-Ciancaglini")
            #:date "1978"
            #:location (journal-location "Archiv Math. Logik"
                                         #:pages '(139 156)
                                         #:volume 19)))
(define reynolds-forsythe
  (make-bib #:title "Preliminary design of the programming language Forsythe"
            #:author (author-name "John C." "Reynolds")
            #:date "1988"
            #:location "Technical report CMU-CS-88-159, Carnegie-Mellon University"))
(define pierce-union
  (make-bib #:title "Union types for semistructured data"
            #:author (authors "Peter Buneman" "Benjamin Pierce")
            #:date "1999"
            #:location (proceedings-location "Works. on Database Programming Languages"
                                             #:pages '(184 207))))

(define knuth-empirical-fortran
  (make-bib #:title "An empirical study of FORTRAN programs"
            #:author (author-name "Donald E." "Knuth")
            #:date "1971"
            #:location (journal-location "Software---Practice and Experience"
                                         #:pages '(105 133)
                                         #:volume 1)))

(define flanagan-spidey
  (make-bib #:title "Catching bugs in the web of program invariants"
            #:author (authors "Cormac Flanagan"
                              "Matthew Flatt"
                              "Shriram Krishnamurthi"
                              "Stephanie Weirich"
                              "Matthias Felleisen")
            #:location (proceedings-location "Conf. on Programming Language Design and Implementation"
                                             #:pages '(23 32))
            #:date "1996"))

(define drscheme
  (make-bib #:title "DrScheme: a programming environment for Scheme"
            #:author (authors "Robert Bruce Findler"
                              "John Clements"
                              "Cormac Flanagan"
                              "Matthew Flatt"
                              "Shriram Krishnamurthi"
                              "Paul Steckler"
                              "Matthias Felleisen")
            #:location (journal-location "J. of Functional Programming"
                                         #:pages '(159 182)
                                         #:volume "12"
                                         #:number "2")
            #:date 2002))

(define high-performance-js
  (make-bib #:title "High Performance JavaScript"
            #:author (author-name "Nicholas C." "Zakas")
            #:is-book? #t
            #:date "2010"
            #:location (book-location #:publisher "O'Reilly")))
(define agner-opt
  (make-bib #:title "Software optimization resources"
            #:author "Agner Fog"
            #:url "http://www.agner.org/optimize/"
            #:date "2012"))
(define gcc-definitive-guide
  (make-bib #:title "The Definitive Guide to GCC"
            #:author "William von Hagen"
            #:is-book? #t
            #:date "2006"
            #:location (book-location #:publisher "Apress")))

(define stepper
  (make-bib #:title "Modeling an algebraic stepper"
            #:author (authors "John Clements" "Matthew Flatt"
                              "Matthias Felleisen")
            #:location (proceedings-location "European Symp. on Programming"
                                             #:pages '(320 334))
            #:date "2001"))

(define serrano-inlining
  (make-bib #:title "Inline expansion: when and how"
            #:author "Manuel Serrano"
            #:location (proceedings-location
                        "International Symp. on Programming Language Implementation and Logic Programming"
                        #:pages '(143 147))
            #:date "1997"))

(define closure-conversion
  (make-bib #:title "Continuation-passing, closure-passing style"
            #:author (authors "Andrew Appel" "Trevor Jim")
            #:location (proceedings-location "Symp. on Principles of Programming Languages"
                                             #:pages '(293 302))
            #:date "1989"))
(define compiling-with-continuations
  (make-bib #:title "Compiling with Continuaitions"
            #:author "Andrew Appel"
            #:is-book? #t
            #:location (book-location #:publisher "Cambridge University Press")
            #:date "1992"))
(define type-based-sml
  (make-bib #:title "A type-based compiler for standard ML"
            #:author (authors "Zhong Shao" "Andrew Appel")
            #:location (proceedings-location "Conf. on Programming Language Design and Implementation"
                                             #:pages '(116 129))
            #:date "1995"))


(define kismet
  (make-bib #:title "Kismet: parallel speedup estimates for serial programs"
            #:author (authors "Donghwan Jeon"
                              "Saturnino Garcia"
                              "Chris Louie"
                              "Michael Bedford Taylor")
            #:location (proceedings-location "Conf. Object-Oriented Programming Systems, Languages, and Applications"
                                             #:pages '(519 536))
            #:date "2011"))
(define kremlin
  (make-bib #:title "Kremlin: rethinking and rebooting gprof for the multicore age"
            #:author (authors "Saturnino Garcia"
                              "Donghwan Jeon"
                              "Chris Louie"
                              "Michael Bedford Taylor")
            #:location (proceedings-location "Programming Language Design and Implementation"
                                             #:pages '(458 469))
            #:date "2011"))
(define cilkview
  (make-bib
   #:author (authors "Yuxiong He" (author-name "Charles E." "Leiserson") (author-name "William M." "Leiserson"))
   #:title "The Cilkview Scalability Analyzer"
   #:location (proceedings-location "Symp. on Parallelism in Algorithms and Architectures"
                                    #:pages '(145 156))
   #:date 2010))


(define gcc
  (make-bib #:title "GCC 4.7.0 Manual"
            #:date "2012"
            #:is-book? #t
            #:author (org-author-name "The Free Software Foundation")))
(define ghc
  (make-bib #:title "The Glorious Glasgow Haskell Compilation System User's Guide, Version 7.4.1"
            #:date "2011"
            #:is-book? #t
            #:author (org-author-name "The GHC Team")))
(define sbcl
  (make-bib #:title "SBCL 1.0.55 User Manual"
            #:date "2012"
            #:is-book? #t
            #:author (org-author-name "The SBCL team")))

(define js-type-inference
  (make-bib #:title "Fast and precise type inference for JavaScript"
            #:author (authors (author-name "Brian" "Hackett")
                              (author-name "Shu-Yu" "Guo"))
            #:location (proceedings-location "Conf. on Programming Language Design and Implementation"
                                             #:pages '(239 250))
            #:date "2012"))

(define rule-based-performance-bug-detection
  (make-bib #:title "Understanding and detecting real-world performance bugs"
            #:author (authors "Guoliang Jin" "Linhai Song" "Xiaoming Shi"
                              "Joel Scherpelz" "Shan Lu")
            #:location (proceedings-location "Conf. on Programming Language Design and Implementation"
                                             #:pages '(77 88))
            #:date "2012"))


(define perf-pred-pvm
  (make-bib #:title "Performance prediction of PVM programs"
            #:author (authors (author-name "Michael R." "Steed")
                              (author-name "Mark J." "Clement"))
            #:location (proceedings-location "International Parallel Processing Symp."
                                             #:pages '(803 807))
            #:date "1996"))
(define perf-pred-hpf
  (make-bib #:title "Compile-time performance prediction of HPF/Fortran 90D"
            #:author (authors "Manish Parashar" "Salim Hariri")
            #:location (journal-location "IEEE Parallel Distrib. Technol."
                         #:pages '(57 73)
                         #:volume "4" #:number "1")
            #:date "1996"))
(define perf-pred-modern-micro
  (make-bib #:title "Efficient performance prediction for modern microprocessors"
            #:author (authors "David Ofelt" (author-name "John L." "Hennessy"))
            #:location (proceedings-location "International Conf. on Measurement and Modeling of Computer Systems"
                                             #:pages '(229 239))
            #:date "2000"))

(define soot-eclipse-thesis
  (make-bib #:title "Visualisation Tools for Optimizing Compilers"
            #:author (author-name "Jennifer Elizabeth" "Shaw")
            #:is-book? #t
            #:location (dissertation-location #:institution "McGill University"
                                              #:degree "MS")
            #:date "2005"))
(define soot-eclipse-cc
  (make-bib #:title "Integrating the Soot compiler infrastructure into an IDE"
            #:author (authors "Jennifer Lhoták" "Ondřej Lhoták" (author-name "Laurie J." "Hendren"))
            #:location (proceedings-location "Symp. on Compiler Construction"
                                             #:pages '(281 297))
            #:date "2004"))

(define soot
  (make-bib #:title "Optimizing Java bytecode using the Soot framework: is it feasible?"
            #:author (authors "Raja Vallée-Rai" "Etienne Gagnon" (author-name "Laurie J." "Hendren") "Patrick Lam" "Patrice Pominville" "Vijay Sundaresan")
            #:location (proceedings-location "Symp. on Compiler Construction"
                                             #:pages '(18 34))
            #:date "2000"))
(define soot-bounds-check
  (make-bib #:title "A comprehensive approach to array bounds check elimination for Java"
            #:author (authors "Feng Qian" (author-name "Laurie J." "Hendren")
                              "Clark Verbrugge")
            #:location (proceedings-location "Symp. on Compiler Construction"
                                             #:pages '(325 342))
            #:date "2002"))


(define feedback-compiler
  (make-bib #:title "The FeedBack compiler"
            #:author (authors "David Binkley" "Bruce Duncan" "Brennan Jubb" "April Wielgosz")
            #:location (proceedings-location "International Works. on Program Comprehension"
                                             #:pages '(198 206))
            #:date "1998"))

(define lcc
  (make-bib #:title "A Retargetable C Compiler: Design and Implementation"
            #:author (authors (author-name "Christopher W." "Fraser")
                              (author-name "David R." "Hanson"))
            #:location (book-location #:publisher "Addison-Wesley")
            #:is-book? #t
            #:date "1995"))

(define loop-skewing
  (make-bib #:title "Loop skewing: the wavefront method revisited"
            #:author "Michael Wolfe"
            #:location (journal-location "J. of Parallel Programming"
                                         #:pages '(279 293)
                                         #:volume "15" #:number "4")
            #:date "1986"))

(define dean95
  (make-bib #:title "Optimization of object-oriented programs using static class hierarchy analysis"
            #:author (authors "Jeffrey Dean" "David Grove" "Craig Chambers")
            #:location (proceedings-location "European Conf. on Object-Oriented Programming"
                                             #:pages '(77 101))
            #:date "1995"))
(define leroy92
  (make-bib #:title "Unboxed objects and polymorphic typing"
            #:author "Xavier Leroy"
            #:location (proceedings-location "Symp. on Principles of Programming Languages"
                                             #:pages '(177 188))
            #:date "1992"))
(define til
  (make-bib #:title "TIL: a type-directed optimizing compiler for ML"
            #:author (authors "David Tarditi" "Greg Morrisett" "Perry Cheng"
                              "Chris Stone" "Robert Harper" "Peter Lee")
            #:location (proceedings-location "Conf. on Programming Language Design and Implementation"
                                             #:pages '(181 192))
            #:date "1996"))

(define muchnick
  (make-bib #:title "Advanced Compiler Design and Implementation"
            #:author (author-name "Stephen S." "Muchnick")
            #:location (book-location #:publisher "Morgan-Kaufmann")
            #:is-book? #t
            #:date "1997"))

(define perf-idle-programs
  (make-bib #:title "Performance analysis of idle programs"
            #:author (authors "Erik Altman" "Matthew Arnold" "Stephen Fink"
                              "Nick Mitchell")
            #:location (proceedings-location "Conf. Object-Oriented Programming Systems, Languages, and Applications"
                                             #:pages '(739 753))
            #:date "2010"))
(define perf-bug-detection
  (make-bib #:title "Catch me of you can: performance bug detection in the wild"
            #:author (authors "Milan Jovic" "Andrea Adamoli" "Matthias Hauswirth")
            #:location (proceedings-location "Conf. Object-Oriented Programming Systems, Languages, and Applications"
                                             #:pages '(155 170))
            #:date "2011"))
(define augmenting-with-dynamic-metrics
  (make-bib #:title "Augmentic static source views in IDEs with dynamic metrics"
            #:author (authors "David Röthlisberger" "Marcel Härry"
                              "Alex Villazón" "Danilo Ansaloni"
                              "Walter Binder" "Oscar Nierstrasz"
                              "Philippe Moret")
            #:location (proceedings-location "International Conf. on Software Maintenance"
                                             #:pages '(253 262))
            #:date "2009"))
(define bottlenecks-large-systems
  (make-bib #:title "Finding and removing performance bottlenecks in large systems"
            #:author (authors "Glenn Ammons" "Jong-Deok Choi"
                              "Manish Gupta" "Nikhil Swamy")
            #:location (proceedings-location "European Conf. on Object-Oriented Programming"
                                             #:pages '(172 196))
            #:date "2004"))



Posted on the users mailing list.