publications: - title: "Evolution of the IBM Cloud: Enabling an enterprise cloud services ecosystem" author: - name: "Andrzej Kochut" link: "https://researchr.org/alias/andrzej-kochut" - name: "Yu Deng" link: "https://researchr.org/alias/yu-deng" - name: "Michael R. Head" link: "https://researchr.org/alias/michael-r.-head" - name: "Jonathan Munson" link: "https://researchr.org/alias/jonathan-munson" - name: "Anca Sailer" link: "https://researchr.org/alias/anca-sailer" - name: "Hidayatullah Shaikh" link: "https://researchr.org/alias/hidayatullah-shaikh" - name: "Chunqiang Tang" link: "https://researchr.org/alias/chunqiang-tang" - name: "Alexander Amies" link: "https://researchr.org/alias/alexander-amies" - name: "Murray Beaton" link: "https://researchr.org/alias/murray-beaton" - name: "David Geiss" link: "https://researchr.org/alias/david-geiss" - name: "David Herman" link: "http://calculist.org/" - name: "Holger Macho" link: "https://researchr.org/alias/holger-macho" - name: "Stephan Pappe" link: "https://researchr.org/alias/stephan-pappe" - name: "Scott Peddle" link: "https://researchr.org/alias/scott-peddle" - name: "Randy Rendahl" link: "https://researchr.org/alias/randy-rendahl" - name: "Angel E. Tomala Reyes" link: "https://researchr.org/alias/angel-e.-tomala-reyes" - name: "Harm Sluiman" link: "https://researchr.org/alias/harm-sluiman" - name: "Brian Snitzer" link: "https://researchr.org/alias/brian-snitzer" - name: "Troy Volin" link: "https://researchr.org/alias/troy-volin" - name: "Hendrik Wagner" link: "https://researchr.org/alias/hendrik-wagner" year: "2011" doi: "http://dx.doi.org/10.1147/JRD.2011.2170920" links: doi: "http://dx.doi.org/10.1147/JRD.2011.2170920" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/ibmrd/KochutDHMSSTABGHMPPRRSSVW11" researchr: "https://researchr.org/publication/KochutDHMSSTABGHMPPRRSSVW11" cites: 0 citedby: 0 journal: "IBM Journal of Research and Development" volume: "55" number: "6" pages: "7" kind: "article" key: "KochutDHMSSTABGHMPPRRSSVW11" - title: "A Theory of Hygienic Macros " author: - name: "David Herman" link: "http://calculist.org/" year: "2010" month: "May" abstract: "We present the λm-calculus, a semantics for a language of hygienic macros with a non-trivial theory. Unlike Scheme, where programs must be macro-expanded to be analyzed, our semantics admits reasoning about programs as they appear to programmers. Our contributions include a semantics of hygienic macro expansion, a formal definition of α-equivalence that is independent of expansion, and a proof that expansion preserves α-equivalence. The key technical component of our language is a type system similar to Culpepper and Felleisen’s “shape types,” but with the novel contribution of binding signature types, which specify the bindings and scope of a macro’s arguments." links: "pdf": "http://www.ccs.neu.edu/home/dherman/research/papers/esop08-hygiene.pdf" researchr: "https://researchr.org/publication/Herman2010" cites: 0 citedby: 0 school: "Northeastern University" address: "Boston, Massachusetts" advisor: - name: "Mitch Wand" link: "https://researchr.org/alias/mitch-wand" kind: "phdthesis" key: "Herman2010" - title: "A Theory of Hygienic Macros" author: - name: "David Herman" link: "http://calculist.org/" - name: "Mitchell Wand" link: "https://researchr.org/alias/mitchell-wand" year: "2008" doi: "http://dx.doi.org/10.1007/978-3-540-78739-6_4" abstract: "Hygienic macro systems, such as Scheme’s, automatically rename variables to prevent unintentional variable capture—in short, they “just work.” Yet hygiene has never been formally presented as a specification rather than an algorithm. According to folklore, the definition of hygienic macro expansion hinges on the preservation of alpha-equivalence. But the only known notion of alpha-equivalence for programs with macros depends on the results of macro expansion! We break this circularity by introducing explicit binding specifications into the syntax of macro definitions, permitting a definition of alpha-equivalence independent of expansion. We define a semantics for a first-order subset of Scheme-like macros and prove hygiene as a consequence of confluence." links: doi: "http://dx.doi.org/10.1007/978-3-540-78739-6_4" tags: - "macros" - "Hygienic Macro" researchr: "https://researchr.org/publication/HermanW08" cites: 0 citedby: 0 pages: "48-62" booktitle: "Programming Languages and Systems, 17th European Symposium on Programming, ESOP 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings" editor: - name: "Sophia Drossopoulou" link: "https://researchr.org/alias/sophia-drossopoulou" volume: "4960" series: "Lecture Notes in Computer Science" publisher: "Springer" isbn: "978-3-540-78738-9" kind: "inproceedings" key: "HermanW08" - title: "Improving the static analysis of embedded languages via partial evaluation" author: - name: "David Herman" link: "http://calculist.org/" - name: "Philippe Meunier" link: "https://researchr.org/alias/philippe-meunier" year: "2004" doi: "http://doi.acm.org/10.1145/1016850.1016857" links: doi: "http://doi.acm.org/10.1145/1016850.1016857" tags: - "analysis" - "static analysis" - "partial evaluation" researchr: "https://researchr.org/publication/HermanM04" cites: 0 citedby: 0 pages: "16-27" booktitle: "Proceedings of the Ninth ACM SIGPLAN International Conference on Functional Programming, ICFP 2004, Snow Bird, UT, USA, September 19-21, 2004" editor: - name: "Chris Okasaki" link: "https://researchr.org/alias/chris-okasaki" - name: "Kathleen Fisher" link: "http://www.research.att.com/people/Fisher_Kathleen_S" publisher: "ACM" isbn: "1-58113-905-5" kind: "inproceedings" key: "HermanM04" - title: "Dependent types for JavaScript" author: - name: "Ravi Chugh" link: "https://researchr.org/alias/ravi-chugh" - name: "David Herman" link: "http://calculist.org/" - name: "Ranjit Jhala" link: "https://researchr.org/alias/ranjit-jhala" year: "2012" doi: "http://doi.acm.org/10.1145/2384616.2384659" links: doi: "http://doi.acm.org/10.1145/2384616.2384659" dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/oopsla/ChughHJ12" researchr: "https://researchr.org/publication/ChughHJ12" cites: 0 citedby: 0 pages: "587-606" booktitle: "Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2012, part of SPLASH 2012, Tucson, AZ, USA, October 21-25, 2012" editor: - name: "Gary T. Leavens" link: "https://researchr.org/alias/gary-t.-leavens" - name: "Matthew B. Dwyer" link: "https://researchr.org/alias/matthew-b.-dwyer" publisher: "ACM" isbn: "978-1-4503-1561-6" kind: "inproceedings" key: "ChughHJ12" - title: "Space-efficient gradual typing" author: - name: "David Herman" link: "http://calculist.org/" - name: "Aaron Tomb" link: "https://researchr.org/alias/aaron-tomb" - name: "Cormac Flanagan" link: "https://researchr.org/alias/cormac-flanagan" year: "2010" doi: "http://dx.doi.org/10.1007/s10990-011-9066-z" links: doi: "http://dx.doi.org/10.1007/s10990-011-9066-z" dblp: "http://dblp.uni-trier.de/rec/bibtex/journals/lisp/HermanTF10" researchr: "https://researchr.org/publication/HermanTF10" cites: 0 citedby: 0 journal: "Higher-Order and Symbolic Computation" volume: "23" number: "2" pages: "167-189" kind: "article" key: "HermanTF10" - title: "Functional pearl: the great escape or, how to jump the border without getting caught" author: - name: "David Herman" link: "http://calculist.org/" year: "2007" doi: "http://doi.acm.org/10.1145/1291151.1291177" links: doi: "http://doi.acm.org/10.1145/1291151.1291177" researchr: "https://researchr.org/publication/Herman07" cites: 0 citedby: 0 pages: "157-164" booktitle: "Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming, ICFP 2007, Freiburg, Germany, October 1-3, 2007" editor: - name: "Ralf Hinze" link: "https://researchr.org/alias/ralf-hinze" - name: "Norman Ramsey" link: "http://www.cs.tufts.edu/~nr/" publisher: "ACM" isbn: "978-1-59593-815-2" kind: "inproceedings" key: "Herman07" - title: "Space-Efficient Gradual Typing" author: - name: "David Herman" link: "http://calculist.org/" - name: "Aaron Tomb" link: "https://researchr.org/alias/aaron-tomb" - name: "Cormac Flanagan" link: "https://researchr.org/alias/cormac-flanagan" year: "2007" links: dblp: "http://dblp.uni-trier.de/rec/bibtex/conf/sfp/HermanTF07" researchr: "https://researchr.org/publication/HermanTF07" cites: 0 citedby: 0 pages: "1-18" booktitle: "Proceedings of the Eighth Symposium on Trends in Functional Programming, TFP 2007, New York City, New York, USA, April 2-4. 2007" editor: - name: "Marco T. Morazán" link: "https://researchr.org/alias/marco-t.-moraz%C3%A1n" volume: "8" series: "Trends in Functional Programming" publisher: "Intellect" isbn: "978-1-84150-196-3" kind: "inproceedings" key: "HermanTF07" - title: "Status report: specifying javascript with ML" author: - name: "David Herman" link: "http://calculist.org/" - name: "Cormac Flanagan" link: "https://researchr.org/alias/cormac-flanagan" year: "2007" doi: "http://doi.acm.org/10.1145/1292535.1292543" links: doi: "http://doi.acm.org/10.1145/1292535.1292543" tags: - "JavaScript" researchr: "https://researchr.org/publication/HermanF07" cites: 0 citedby: 0 pages: "47-52" booktitle: "Proceedings of the ACM Workshop on ML, 2007, Freiburg, Germany, October 5, 2007" editor: - name: "Claudio Russo" link: "https://researchr.org/alias/claudio-russo" - name: "Derek Dreyer" link: "https://researchr.org/alias/derek-dreyer" publisher: "ACM" isbn: "978-1-59593-676-9" kind: "inproceedings" key: "HermanF07"