Dave Herman

Dave Senior Researcher
Mozilla Research
Mountain View, CA

PhD, 2010
Programming Research Laboratory
College of Computer and Information Science
Northeastern University

Email: dherman@ccs.neu.edu
Web: http://calculist.org
Twitter: @littlecalculist
Advisor: Mitchell Wand

My research interests include programming language design and specification, hybrid and multi-paradigm languages, hygienic macro systems, embedded and domain-specific languages, advanced control constructs, program analysis, and expressive programs with expressible proofs.

I am a member of Ecma TC39, the technical committee specifying and standardizing the next version of ECMAScript, better known as JavaScript.

Papers

A Theory of Typed Hygienic Macros, David Herman. Northeastern University, 2010. Dissertation [bib, pdf]. Defense [key, pdf].

@phdthesis { Herman10:Theory,
    title = {A Theory of Typed Hygienic Macros},
    author = {David Herman},
    school = {Northeastern University},
    address = {Boston, MA},
    year = 2010,
    month = may
}

A Few Principles of Macro Design, David Herman and David Van Horn. Scheme Workshop, 2008. Paper [bib, pdf].

@inproceedings { HermanVanHorn08:Design,
    title = {A Few Principles of Macro Design},
    author = {David Herman and David Van Horn},
    booktitle = {{S}cheme {W}orkshop '08: Proceedings of the Ninth 
                 Scheme and Functional Programming Workshop},
    year = 2008,
    month = sep,
    location = {Victoria, British Columbia}
}    

Implementing Continuation Marks in JavaScript, John Clements, Ayswarya Sundaram, and David Herman. Scheme Workshop, 2008. Paper [bib, pdf].

@inproceedings { ClementsAyswaryaHerman08:cmjs,
    title = {Implementing Continuation Marks in {J}ava{S}cript},
    author = {John Clements and Ayswarya Sundaram and David Herman},
    booktitle = {{S}cheme {W}orkshop '08: Proceedings of the Ninth 
                 Scheme and Functional Programming Workshop},
    year = 2008,
    month = sep,
    location = {Victoria, British Columbia}
}    

A Theory of Hygienic Macros. David Herman and Mitchell Wand. European Symposium On Programming (ESOP), 2008. Paper [bib, pdf].

@inproceedings{ HermanWand08:Hygiene,
    title = {A Theory of Hygienic Macros},
    author = {David Herman and Mitchell Wand},
    booktitle = {{ESOP} '08: Proceedings of the Seventeenth
                 European Symposium On Programming},
    year = 2008,
    month = mar,
    location = {Budapest, Hungary},
}

Status Report: Specifying JavaScript with ML. David Herman and Cormac Flanagan. ML Workshop, 2007. Paper [bib, pdf]. Talk [pdf].

@inproceedings{ HermanFlanagan07:JavaScript,
    title = {Status Report: Specifying {J}ava{S}cript with {ML}},
    author = {David Herman and Cormac Flanagan},
    booktitle = {{ML} '07: Proceedings of the 2007 Workshop on {ML}},
    year = 2007,
    month = oct,
    location = {Freiburg, Germany},
    pages = {47--52},
    isbn = {978-1-59593-676-9}
}

Functional Pearl: The Great Escape, or how to jump the border without getting caught. David Herman. International Conference on Functional Programming (ICFP), 2007. Paper [bib, pdf]. Code [sml]. Proofs [coq].

@inproceedings{ Herman07:GreatEscape,
    title = {Functional Pearl: The Great Escape.
             Or, How to Jump the Border Without Getting Caught},
    author = {David Herman},
    booktitle = {{ICFP} '07: Proceedings of the Twelfth {ACM SIGPLAN}
                 International Conference on Functional Programming},
    year = 2007,
    month = oct,
    location = {Freiburg, Germany},
    pages = {157--164},
    isbn = {978-1-59593-815-2}
}

Space-Efficient Gradual Typing. David Herman, Aaron Tomb, and Cormac Flanagan. Trends in Functional Programming (TFP), 2007. Best Student Paper Award. Paper [bib, pdf]. Talk [ppt, pdf]

@inproceedings{ HermanTombFlanagan07:SpaceEfficient,
    title = {Space-Efficient Gradual Typing},
    author = {David Herman and Aaron Tomb and Cormac Flanagan},
    booktitle = {{TFP} '07: The Eighth Symposium on
                 Trends in Functional Programming},
    year = 2007,
    month = apr,
    location = {New York, NY},
    pages = {404--419},
}

Improving the Static Analysis of Embedded Programs via Partial Evaluation. David Herman and Philippe Meunier. International Conference on Functional Programming (ICFP), 2004. [bib, ps, pdf]

@inproceedings{ HermanMeunier04:StaticAnalysis,
    title = {Improving the Static Analysis of Embedded Languages
             via Partial Evaluation},
    author = {David Herman and Philippe Meunier},
    booktitle = {{ICFP} '04: Proceedings of the Ninth {ACM SIGPLAN}
                 International Conference on Functional Programming},
    year = 2004,
    month = sep,
    location = {Snowbird, UT},
    pages = {16--27},
    isbn = {1-58113-905-5}
}

Software

Valid XHTML 1.1 Valid CSS PLT Scheme