From d19a30766526e2873645590a400a5a5ac13dc839 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 16 Mar 2016 05:27:36 -0400 Subject: [PATCH] [icfp] re-add herman/meunier --- icfp-2016/conclusion.scrbl | 14 -------------- icfp-2016/intro.scrbl | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/icfp-2016/conclusion.scrbl b/icfp-2016/conclusion.scrbl index 8c263fb..645ce1d 100644 --- a/icfp-2016/conclusion.scrbl +++ b/icfp-2016/conclusion.scrbl @@ -29,17 +29,3 @@ Whereas types support reasoning independent of data representations, Doing so will catch more errors and enable unconventional forms of polymorphism, all without changes to the language's type system or the programmer's code. -@; @; ============================================================================= -@; -@; @parag{Lineage} -@; -@; Herman and Meunier demonstrated how Racket macros can propagate -@; data embedded in string values and syntax patterns to a -@; 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 -@; transformations to a typed language by inserting type annotations and boolean -@; guards into the programs. -@; Our treatment of definition forms is also new. -@; diff --git a/icfp-2016/intro.scrbl b/icfp-2016/intro.scrbl index 3330cc3..4367e4e 100644 --- a/icfp-2016/intro.scrbl +++ b/icfp-2016/intro.scrbl @@ -40,7 +40,7 @@ These problems are well known, and are often used to motivate research on Short of abandoning ship for a completely new type system, languages including Haskell, Java, OCaml, and Typed Racket have seen proposals for detecting certain values errors or expressing the polymorphism in functions - such as @racket[curry] with few (if any) changes to the existing type system@~cite[ddems-icse-2011 ks-plpv-2006 kkt-pldi-2016 lb-sigplan-2014]. + such as @racket[curry] with few (if any) changes to the existing type system@~cite[ddems-icse-2011 ew-haskell-2012 ks-plpv-2006 kkt-pldi-2016 lb-sigplan-2014]. What stands between these proposals and their adoption is the complexity or annotation burden they impose on language users. @@ -106,3 +106,17 @@ In sum, the code below will compile using our library's @racket[regexp-match] @Secref{sec:usage} has more examples. @Secref{sec:conclusion} concludes. +@; ============================================================================= + +@parag{Lineage} + +Our technique builds on the approach of Herman and Meunier, who first + demonstrated how Racket macros can propagate + data embedded in string values and syntax patterns to a + 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 + transformations to a typed language, suggest new applications, and + describe how to compose the results of analyses. +