diff --git a/icfp-2016/bib.rkt b/icfp-2016/bib.rkt index 669f800..54bb4c4 100644 --- a/icfp-2016/bib.rkt +++ b/icfp-2016/bib.rkt @@ -1136,7 +1136,7 @@ (define mbb-sigmod-2006 (make-bib - #:title "LINQ: reconciling object, relations and XML in the .NET framework" + #:title "LINQ: Reconciling Object, Relations and XML in the .NET Framework" #:author (authors "Erik Meijer" "Brain Beckman" "Gavin Bierman") #:location (proceedings-location sigmod #:pages '(706 706)) #:date 2006)) @@ -1192,7 +1192,7 @@ (define fcdb-jfp-2012 (make-bib - #:title "Macros that Work Together: Compile-time bindings, partial expansion, and definition contexts" + #:title "Macros that Work Together: Compile-Time Bindings, Partial Expansion, and Definition Contexts" #:author (authors "Matthew Flatt" "Ryan Culpepper" "David Darais" "Robert Bruce Findler") #:location (proceedings-location jfp #:pages '(181 216)) #:date 2012)) @@ -1224,3 +1224,10 @@ #:author (authors "Daan Leijen" "Erik Meijer") #:location (proceedings-location dsl #:pages '(109 122)) #:date 1999)) + +(define cf-icfp-2010 + (make-bib + #:title "Fortifying Macros" + #:author (authors "Ryan Culpepper" "Matthias Felleisen") + #:location (proceedings-location icfp #:pages '(235 246)) + #:date 2010)) diff --git a/icfp-2016/experience.scrbl b/icfp-2016/experience.scrbl index a3d558d..371bba2 100644 --- a/icfp-2016/experience.scrbl +++ b/icfp-2016/experience.scrbl @@ -25,8 +25,8 @@ In total, we had to modify 6 lines to replace we have only tested that interface in scripts.} This gives us confidence that retroactively opting-in to our library truly is a 1-line effort. -Removing type annotations and casts made redundant by our library is, however, - still a manual task. +Using the library also enables the removal of casts and type annotations made + redundant by our elaborations. Compiling with our library adds no statistically significant overhead, but tends to produce slightly larger bytecode files due to the inserted diff --git a/icfp-2016/implementation.scrbl b/icfp-2016/implementation.scrbl index 0616f2e..58c3ada 100644 --- a/icfp-2016/implementation.scrbl +++ b/icfp-2016/implementation.scrbl @@ -328,7 +328,7 @@ Each sub-section title is a technical term; @subsection[#:tag "sec:parse"]{Syntax Parse} -The @racket[syntax/parse] library@~cite[c-dissertation-2010] provides +The @racket[syntax/parse] library@~cite[cf-icfp-2010] provides tools for writing macros. It provides the @racket[syntax-parse] and @racket[syntax-parser] forms that we have used extensively above. diff --git a/icfp-2016/intro.scrbl b/icfp-2016/intro.scrbl index 89710bd..9c32022 100644 --- a/icfp-2016/intro.scrbl +++ b/icfp-2016/intro.scrbl @@ -124,7 +124,7 @@ Our technique builds on the approach of Herman and Meunier, who first static analyzer@~cite[hm-icfp-2004]. Their illustrative examples were format strings, regular expressions, and database queries. -Relative to their pioneering work, we adapt Herman & Meunier's +Relative to their pioneering work, we adapt Herman and Meunier's transformations to a typed language, suggest new applications, and describe how to compose the results of analyses. diff --git a/icfp-2016/paper.scrbl b/icfp-2016/paper.scrbl index 96522fa..9d94dfb 100644 --- a/icfp-2016/paper.scrbl +++ b/icfp-2016/paper.scrbl @@ -24,7 +24,7 @@ without changing the type system. We have implemented the technique as a Typed Racket library. From the programmers' viewpoint, simply importing the library makes the type - system more perceptive---no annotations or new syntax required. + system more perceptive---no annotations or new syntax are required. } @;@category["D.3.3" "Programming Languages" "Language Constructs and Features"] diff --git a/icfp-2016/usage.scrbl b/icfp-2016/usage.scrbl index 6097a77..0022a48 100644 --- a/icfp-2016/usage.scrbl +++ b/icfp-2016/usage.scrbl @@ -64,7 +64,7 @@ All strings are valid format strings; additionally, a format string may contain @emph{format directives} describing @emph{where} and @emph{how} values can be spliced into the format string. @; TODO scheme or common lisp? -Racket follows the Lisp tradition@~cite[s-lisp-1990] of using a tilde character (@tt{~}) +Racket follows the Lisp tradition of using a tilde character (@tt{~}) to prefix format directives. For example, @racket[~s] converts any value to a string and @racket[~b] converts a number to binary form.