PhD Candidate
Programming Research Laboratory
College of Computer and Information Science
Northeastern University
Office: West Village H, Room 330
Email: dherman@ccs.neu.edu
Blog: http://calculist.blogspot.com
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 an invited expert on Ecma TC39, the technical committee specifying and standardizing the next version of JavaScript.
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},
note = {To appear}
}
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},
note = {To appear}
}
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}
}