PDF

Chung-chieh Shan (シャン)(ジョン)(ジエ)

ccshan@indiana.edu [Cryptography]

Assistant Professor, School of Informatics and Computing, Indiana University (2013–)

Researcher, Department of Computer Science, University of Tsukuba (Spring 2012)

Visiting Assistant Professor, Department of Linguistics, Cornell University (Fall 2011)

Assistant Professor, Department of Computer Science and Center of Cognitive Science, Rutgers University (2005–2011)

Research

I study what things mean that matter. I work to tap into and enhance the amazing human ability to create concepts, combine concepts, and share concepts, by lining up formal representations and what they represent. To this end, in the short term, I develop programming languages that divide what to do and how to do it into modules that can be built and reused separately. In particular, I develop so-called probabilistic programming languages, which divide stochastic models and inference algorithms into modules that can be built and reused separately. In the long term, I hope to supplant first-order logic by something that does not presuppose a fact of the matter what things there are, though there may be a fact of the matter what stuff there is.

Teaching

Probabilistic programming (BL CSCI B629, Spring 2014)

Delimited control and applications, with Olivier Danvy (Workshop on recent developments in proof theory, Lyon, France, 2014)

Programming languages (BL CSCI H311, Fall 2013)

Discrete structures for computer science (BL CSCI C241, Spring 2013)

Lambda: the ultimate syntax-semantics interface, with Oleg Kiselyov (North American summer school in logic, language, and information, 2010, 2012; IFIP working conference on domain-specific languages, 2011; Cornell University, 2011; European summer school in logic, language and information, 2013)

Composing meanings as programs (European summer school in logic, language and information, 2008)

Continuations: natural language meaning as computation, with Chris Barker (European summer school in logic, language and information, 2004)

Programming languages (undergraduate and graduate), artificial intelligence (graduate), computational modeling (graduate), natural-language semantics (graduate)

Education

PhD in computer science 2005, Harvard University
Dissertation: “Linguistic side effects”
Committee: Stuart M. Shieber (advisor), Barbara J. Grosz, Avi Pfeffer, Norman Ramsey

Apparently noncompositional phenomena in natural languages can be analyzed like computational side effects in programming languages: anaphora can be analyzed like state, intensionality can be analyzed like environment, quantification can be analyzed like delimited control, and so on. We thus term apparently noncompositional phenomena in natural languages linguistic side effects. We put this new, general analogy to work in linguistics as well as programming-language theory.

BA in mathematics 1999, cum laude in general studies, Harvard University
Phi Beta Kappa; Harvard College and John Harvard Scholarships

Awards

Best paper (with Oleg Kiselyov) 2009, working conference on domain-specific languages

Beth dissertation award 2006, Association for Logic, Language and Information [Slides for talk]

Best paper (with Balder D. ten Cate) 2002, ESSLLI student session

First place (with Dylan P. Thurston) 2001, ACM ICFP programming contest

Book chapters

Fun with type functions
Oleg Kiselyov, Simon Peyton Jones, and Chung-chieh Shan. In Reflections on the work of C. A. R. Hoare. ed. A. W. Roscoe, Cliff B. Jones, and Ken Wood, 303–333. Springer, 2010.
Axiomatizing Groenendijk’s logic of interrogation
Balder D. ten Cate and Chung-chieh Shan. In Questions in dynamic semantics, ed. Maria Aloni, Alastair Butler, and Paul Dekker, 63–82. Elsevier, 2007.
Linguistic side effects
In Direct compositionality, ed. Chris Barker and Pauline Jacobson, 132–163. Oxford University Press, 2007. Presented since 2002 at the Universities of AZ, BC, CA San Diego, IL Urbana-Champaign, PA, Rochester, UT, VT, and WA; Boston, Brown, Cornell, Harvard, Indiana, Rutgers, and Stanford Universities; City College of New York; DIMACS; MIT; logic and computational linguistics workshop; New England programming languages and systems symposium; Oregon Graduate Institute; direct compositionality workshop.

Refereed journal articles

Functional un|unparsing
Kenichi Asai, Oleg Kiselyov, and Chung-chieh Shan. Higher-Order and Symbolic Computation 24(4):311–340, 2012. Presented at the symposium in honor of Mitchell Wand, 2009. [Slides for talk]
Purely functional lazy nondeterministic programming
Sebastian Fischer, Oleg Kiselyov, and Chung-chieh Shan. Journal of Functional Programming 21(4–5):413–465, 2011.
Shifting the stage: staging with delimited control
Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. Journal of Functional Programming 21(6):617–662, 2011.
The character of quotation
Linguistics and Philosophy 33(5):417–443, 2010. Presented at the Yale syntax colloquium, 2010.
Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages
Jacques Carette, Oleg Kiselyov, and Chung-chieh Shan. Journal of Functional Programming 19(5):509–543, 2009. Presented since 2008 at the New Jersey programming languages and systems seminar, the University of Waterloo, and Cornell University.
Donkey anaphora is in-scope binding
Chris Barker and Chung-chieh Shan. Semantics and Pragmatics 1(1):1–46, 2008.
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation 20(4):371–401, 2007.
Explaining crossover and superiority as left-to-right evaluation
Chung-chieh Shan and Chris Barker. Linguistics and Philosophy 29(1):91–134, 2006. Presented at the ESSLLI 2004 workshops on syntax, semantics and pragmatics of questions and on semantic approaches to binding theory. Also poster at North East Linguistic Society, 2002.
A modal interpretation of the logic of interrogation
Rani Nelken and Chung-chieh Shan. Journal of Logic, Language and Information 15(3):251–271, 2006.
On the static and dynamic extents of delimited continuations
Dariusz Biernacki, Olivier Danvy, and Chung-chieh Shan. Science of Computer Programming 60(3):274–297, 2006.
Types as graphs: continuations in Type Logical Grammar
Chris Barker and Chung-chieh Shan. Journal of Logic, Language and Information 15(4):331–370, 2006. Presented at the New Jersey programming languages and systems seminar, 2004. [Slides for talk]
On the dynamic extent of delimited continuations
Dariusz Biernacki, Olivier Danvy, and Chung-chieh Shan. Report RS-05-13, BRICS. Abbreviated version in Information Processing Letters 96(1):7–17, 2005.
Temporal versus non-temporal “when”
Snippets 6:14–15, 2002.

Refereed conference and workshop papers

Shonan Challenge for generative programming (short position paper)
Baris Aktemur, Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. In Proceedings of the symposium on partial evaluation and semantics-based program manipulation, 2013.
An analysis of the Mozilla Jetpack extension framework
Rezwana Karim, Mohan Dhawan, Vinod Ganapathy, and Chung-chieh Shan. In Proceedings of the 26th European conference on object-oriented programming, 2012.
Enhancing JavaScript with transactions
Mohan Dhawan, Chung-chieh Shan, and Vinod Ganapathy. In Proceedings of the 26th European conference on object-oriented programming, 2012.
Entailment above the word level in distributional semantics
Marco Baroni, Raffaella Bernardi, Ngoc-Quynh Do, and Chung-chieh Shan. In Proceedings of the 13th conference of the European chapter of the ACL, ed. Walter Daelemans, 23–32, 2012. Presented at the University of Tsukuba. [Slides for talk] [Data]
Equational reasoning for conditioning as disintegration
Chung-chieh Shan and Dylan P. Thurston. Poster at the NIPS workshop on probabilistic programming, 2012.
Generating quantifiers and negation to explain homework testing
Jason Perry and Chung-chieh Shan. In Proceedings of the 5th workshop on innovative use of NLP for building educational applications, ed. Joel Tetreault, Jill Burstein, and Claudia Leacock, 57–65, 2010. Presented at the Free University of Bozen/Bolzano, 2011.
Position paper: the case for JavaScript transactions
Mohan Dhawan, Chung-chieh Shan, and Vinod Ganapathy. In Proceedings of the 5th workshop on programming languages and analysis for security, ed. Anindya Banerjee and Deepak Garg, 2010.
Principles of interdimensional meaning interaction
Chris Barker, Raffaella Bernardi, and Chung-chieh Shan. In Proceedings from Semantics and Linguistic Theory XX, ed. Nan Li and David Lutz, 109–127. Cornell University Press, 2010.
Characterizing quotation
In Proceedings from Semantics and Linguistic Theory XIX, ed. Satoshi Ito and Ed Cormany and David Lutz, 413–426. Cornell University Press, 2009. (Invited.) [Slides for talk] [Handout] Presented at Radboud University Nijmegen, 2008.
Embedded probabilistic programming
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the working conference on domain-specific languages, ed. Walid Taha, 360–384. Lecture notes in computer science 5658, Springer, 2009. (Best paper award.) [Slides for talk] Presented since 2010 at Indiana, Ochanomizu, and Rutgers Universities and the University of Tsukuba. Posters at the NIPS 2008 workshop on probabilistic programming and at IBM PL Day in Hawthorne.
J is for JavaScript: a direct-style correspondence between Algol-like languages and JavaScript using first-class continuations
Olivier Danvy, Chung-chieh Shan, and Ian Zerny. In Proceedings of the working conference on domain-specific languages, ed. Walid Taha, 1–19. Lecture notes in computer science 5658, Springer, 2009.
Lifted inference: normalizing loops by evaluation
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the workshop on normalization by evaluation, 2009. Presented since 2009 at the New Jersey programming languages and systems seminar, the probabilistic programming workshop, Northeastern University, and Japan’s National Institute of Informatics. [Slides for talk]
Monolingual probabilistic programming using generalized coroutines
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the 25th conference on uncertainty in artificial intelligence, 285–292, 2009. Presented at the probabilistic programming workshop, 2010. [Slides for talk]
Purely functional lazy non-deterministic programming
Sebastian Fischer, Oleg Kiselyov, and Chung-chieh Shan. In Proceedings of the international conference on functional programming, 11–22, 2009. [Video]
Shifting the stage: staging with delimited control
Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. In Proceedings of the symposium on partial evaluation and semantics-based program manipulation, 111–120, 2009. Presented since 2008 at the Universities of Århus and Copenhagen, McGill and Utrecht Universities, IBM PL Day in Hawthorne, and Microsoft Research Cambridge. [Slides for talk]
Closing the stage: from staged code to typed closures
Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. In Proceedings of the symposium on partial evaluation and semantics-based program manipulation, 147–157, 2008. [Slides for talk]
Inverse scope as metalinguistic quotation in operational semantics
In Proceedings of the 4th international workshop on logic and engineering of natural language semantics, ed. Kei Yoshimoto, 167–178, 2007. Revised version in New frontiers in artificial intelligence: JSAI 2007 conference and workshops, revised selected papers, ed. Ken Satoh, Akihiro Inokuchi, Katashi Nagao, and Takahiro Kawamura, 123–134. Lecture notes in computer science 4914, Springer, 2008.
Lightweight monadic regions
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the Haskell symposium, 1–12, 2008. [Slides for talk] [Video]
Pure, declarative, and constructive arithmetic relations (declarative pearl)
Oleg Kiselyov, William E. Byrd, Daniel P. Friedman, and Chung-chieh Shan. In Proceedings of the 9th international symposium on functional and logic programming, ed. Jacques Garrigue and Manuel Hermenegildo, 64–80. Lecture notes in computer science 4989, Springer, 2008. [Slides for talk]
Boosting optimal logical patterns using noisy data
Noam Goldberg and Chung-chieh Shan. In Proceedings of the SIAM international conference on data mining, 228–236, 2007.
Causal reference and inverse scope as mixed quotation
In Proceedings of the 16th Amsterdam colloquium, ed. Maria Aloni, Paul Dekker, and Floris Roelofsen, 199–204. Institute for Logic, Language and Computation, University of Amsterdam, 2007. [Slides for talk]
Delimited continuations in operating systems
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the conference on modeling and using context, ed. Boicho Kokinov, Daniel C. Richardson, Thomas R. Roth-Berghofer, and Laure Vieu, 291–302. Lecture notes in computer science 4635, Springer, 2007. Posters at USENIX technical conference and at CONTEXT.
Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages
Jacques Carette, Oleg Kiselyov, and Chung-chieh Shan. In Proceedings of the 5th Asian symposium on programming languages and systems, ed. Zhong Shao, 222–238. Lecture notes in computer science 4807, Springer, 2007. [Slides for talk]
Lightweight static resources: sexy types for embedded and systems programming
Oleg Kiselyov and Chung-chieh Shan. In Draft proceedings of the 8th symposium on trends in functional programming, ed. Marco T. Morazán and Henrik Nilsson. Technical report TR-SHU-CS-2007-04-1, Department of Mathematics and Computer Science, Seton Hall University, 2007. [Slides for talk]
A substructural type system for delimited continuations
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the international conference on typed lambda calculi and applications, ed. Simona Ronchi Della Rocca, 223–239. Lecture notes in computer science 4583, Springer, 2007. Presented at the New Jersey programming languages and systems seminar. [Slides for talk]
Delimited dynamic binding
Oleg Kiselyov, Chung-chieh Shan, and Amr Sabry. In Proceedings of the international conference on functional programming, 26–37, 2006. [Slides for talk]
Lightweight static capabilities
Oleg Kiselyov and Chung-chieh Shan. In Proceedings of the programming languages meets program verification workshop, ed. Aaron Stump and Hongwei Xi, 79–104. Electronic notes in theoretical computer science 174(7), Elsevier, 2006. [Slides for talk]
Functional pearl: backtracking, interleaving, and terminating monad transformers
Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, and Amr Sabry. In Proceedings of the international conference on functional programming, 192–203, 2005. [Code]
Binding alongside Hamblin alternatives calls for variable-free semantics
In Proceedings from Semantics and Linguistic Theory XIV, ed. Kazuha Watanabe and Robert B. Young, 289–304. Cornell University Press, 2004.
Delimited continuations in natural language: quantification and polarity sensitivity
In Proceedings of the 4th continuations workshop, ed. Hayo Thielecke, 55–64. Technical report CSR-04-1, School of Computer Science, University of Birmingham, 2004. [Slides for talk]
Functional pearl: implicit configurations—or, type classes reflect the values of types
Oleg Kiselyov and Chung-chieh Shan. Technical report TR-15-04, Division of Engineering and Applied Sciences, Harvard University. Abbreviated version in Proceedings of the 2004 Haskell workshop, 33–44. Association for Computing Machinery, 2004. [Slides for talk] [Literate Haskell source code]
A logic of interrogation should be internalized in a modal logic for knowledge
Rani Nelken and Chung-chieh Shan. In Proceedings from Semantics and Linguistic Theory XIV, ed. Kazuha Watanabe and Robert B. Young, 197–211. Cornell University Press, 2004.
Polarity sensitivity and evaluation order in type-logical grammar
In Proceedings of the 2004 human language technology conference of the North American chapter of the ACL, ed. Susan Dumais, Daniel Marcu, and Salim Roukos, 2:129–132. Association for Computational Linguistics, 2004.
Shift to control
In Proceedings of the 5th workshop on Scheme and functional programming, ed. Olin Shivers and Oscar Waddell, 99–107. Technical report 600, Computer Science Department, Indiana University, 2004. [Slides for talk]
A continuation semantics of interrogatives that accounts for Baker’s ambiguity
In Proceedings from Semantics and Linguistic Theory XII, ed. Brendan Jackson, 246–265. Cornell University Press, 2002.
The partition semantics of questions, syntactically
Chung-chieh Shan and Balder D. ten Cate. In Proceedings of the ESSLLI-2002 student session, ed. Malvina Nissim, 255–269. 14th European summer school in logic, language and information, 2002. (Best paper award.)
Question answering: from partitions to Prolog
Balder D. ten Cate and Chung-chieh Shan. In Proceedings of TABLEAUX 2002: automated reasoning with analytic tableaux and related methods, ed. Uwe Egly and Christian G. Fermüller, 251–265. Lecture notes in computer science 2381, Springer, 2002. Also in Proceedings of NLULP-02: the 7th international workshop on natural language understanding and logic programming, ed. Shuly Wintner. Datalogiske skrifter 92, Department of Computer Science, Roskilde University, 2002.
Monads for natural language semantics
In Proceedings of the ESSLLI-2001 student session, ed. Kristina Striegnitz, 285–298. 13th European summer school in logic, language and information, 2001.
A variable-free dynamic semantics
In Proceedings of the 13th Amsterdam colloquium, ed. Robert van Rooy and Martin Stokhof, 204–209. Institute for Logic, Language and Computation, University of Amsterdam, 2001.
Fred: artificial neural networks evolving in virtual worlds
In Proceedings of the international symposium on artificial neural networks, 343–348. National Cheng-Kung University, Taiwan, 1994.

Other papers

Continuation hierarchy and quantifier scope
Oleg Kiselyov and Chung-chieh Shan, 2012.
Equational reasoning for conditioning as disintegration
Chung-chieh Shan and Dylan P. Thurston, 2012.
ICFP 2008 poster session
Benjamin Pierce, Colin Runciman, and Chung-chieh Shan. Technical report 640, Department of Computer Science, Rutgers University, 2008.
Interpreting quotations
Presented at the Rutgers linguistics colloquium, 2007, and at the Semantics Research Group, 2008.
Interpreting types as abstract values
Oleg Kiselyov and Chung-chieh Shan. Lecture notes for the Formosan Summer School on Logic, Language, and Computation, 2008.
Lightweight static guarantees
Oleg Kiselyov and Chung-chieh Shan. Poster presented at USENIX technical conference, 2007.
Non-adjacent probabilities: must they inform word learning?
Dana L. Chesney and Chung-chieh Shan. Poster presented at Association for Psychological Science convention, 2007.
Higher-order modules in System Fω and Haskell
May 15, 2006.
A computational interpretation of classical S4 modal logic
Presented at the New England programming languages and systems symposium, 2003, and at the 3rd intuitionistic modal logics and applications workshop, 2005.
Sexy types in action
ACM SIGPLAN Notices 39(5):15–22, 2004.
From shift and reset to polarized linear logic
2003.
Quantifier strengths predict scopal possibilities of Mandarin Chinese wh-indefinites
Presented at Harvard University linguistics, 2003.
Markup optimisation by probabilistic parsing
Chung-chieh Shan and Dylan P. Thurston, 2001. First-place winner in the ACM International Conference on Functional Programming programming contest.
Meanings of multiple-wh questions
Paper for Harvard Linguistics 118 (Susumu Kuno, Introduction to discourse analysis) and 205 (Jonathan Nissenbaum, Topics at the syntax-semantics interface), Fall 2000.
Model selection for belief networks when learning with incomplete data
Paper for Harvard Computer Science 282 (Avi Pfeffer, Probabilistic reasoning), Fall 2000.
Random-self-reducibility in the polynomial hierarchy
Paper for Harvard Mathematics Tutorial (Henry Cohn, Probabilistic proof systems), Fall 1997.
Hierarchical distributed election protocols
Steve Chien and Chung-chieh Shan. Paper for Harvard Computer Science 262 (Jim Waldo, Introduction to distributed computing) with several bugs fixed, Spring 1997.

Other talks

Braiding in circles
Demo at the workshop on functional art, music, modeling and design, 2013. [Video]
From distributional semantics to formal grammar and back
Conference on Formal Grammar, 2013. (Invited.)
Integrating language with other methods and modules of meaning
Panelist at the AAAI fall symposium on integrated cognition, 2013.
Intermediate representations for conditioning and loops
DARPA PPAML kick-off meeting, 2013.
Lambda: the ultimate syntax-semantics interface
University of Århus, 2013.
From language models to distributional semantics
Presented at the Semantics Research Group, 2012, and at the symposium on compositional vector space semantics at Stanford University, 2013.
Functional modularity in the lambda calculus
Association for Symbolic Logic winter meeting (with the American Philosophical Association Eastern Division annual meeting) session on lambda calculi, type systems, and applications to natural language, 2011, and Kyoto University, 2012. [Abstract] (Invited.)
Linguistic modularity and side effects
University of Iowa, 2012.
Metadiscourse as unquotation
Workshop on quotation: perspectives from philosophy and linguistics, 2012.
Programming as collaborative reference
Oleg Kiselyov and Chung-chieh Shan. Off the beaten track workshop, 2012. [Slides for talk] [Handout]
Back to the model
Jason Perry and Chung-chieh Shan. LSA workshop on semantics for textual inference, 2011.
Computational effects across generated binders. Part 1: problems and solutions. Part 2: enforcing lexical scope
Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. IFIP Working Group 2.11 (program generation), INRIA Paris, and Cornell University, 2011.
How to reify fresh type variables?
Oleg Kiselyov and Chung-chieh Shan. Shonan meeting on dependently typed programming, 2011.
Shadows of meaning
Amsterdam Colloquium, 2011. (Invited.)
What are these control hierarchies?
Theory and practice of delimited continuations workshop (Novi Sad), 2011. (Invited.)
Bounded-rational theory of mind for conversational implicature
Oleg Kiselyov and Chung-chieh Shan. Texas Linguistics Society (UT Austin) and Logical Methods for Discourse (LORIA), 2009, and Semantics Research Group and NYU Linguistics semantics group, 2010.
Innate concepts as specialized programs? On Noah Goodman’s talk “Concept learning as probabilistic program induction”
Cornell workshop on grammar induction, 2010.
Lightweight static capabilities
Oleg Kiselyov and Chung-chieh Shan. Utrecht University computer science, 2009, and Stanford University computer science, 2010.
Mandarin Chinese wh-indefinite scope by mixed quotation
Cornell linguistics, 2010.
Mechanizing multilevel metatheory with control effects
Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. Workshop on mechanizing metatheory, 2010.
The MetaOCaml files: status report and research proposal
Oleg Kiselyov and Chung-chieh Shan. ML workshop and IFIP Working Group 2.11 (program generation), 2010. [Slides for talk]
Probabilistic programming using first-class stores and first-class continuations
Oleg Kiselyov and Chung-chieh Shan. ML workshop, 2010. [Slides for talk]
Self-applicable probabilistic inference without interpretive overhead for bounded-rational theory of mind
Oleg Kiselyov and Chung-chieh Shan. UC Berkeley, IFIP Working Group 2.11 (program generation), University of Rochester, MIT, 2009, Stanford University linguistics, Microsoft Research New England, Tufts University, Tokyo Institute of Technology, and New England programming languages and systems symposium, 2010.
Typed metaprogramming with effects
5th international workshop on logical frameworks and meta-languages: theory and practice, 2010. (Invited.)
Donkey sentences as program generators
University of Århus, 2008.
Functional un-unparsing
University of Århus, 2008.
Theory of mind and bounded rationality without interpretive overhead
Oleg Kiselyov and Chung-chieh Shan. University of Amsterdam and University of Århus, 2008.
Reasoning about contexts in Henkin models
Chris Barker and Chung-chieh Shan. Workshop on lambda calculus and formal grammar, 2008.
Embedding languages
Rutgers computer science, 2007.
Quotation and effects in natural language: three applications
Oleg Kiselyov and Chung-chieh Shan. IFIP Working Group 2.11 (program generation), 2007.
Quoting side effects
13th annual Reflections | Projections computing conference, ACM UIUC, 2007. [Video (Windows Media 170M)]
Language machines
DIMACS Research Experience for Undergraduates seminar, 2006.
Mutable bindings in evaluation contexts
Lightning talk, Workshop on mechanizing metatheory, 2006.
Against the division of labor in scope and binding
Linguistic Society of America 79th annual meeting, 2005. [Short abstract] [Abstract] [Handout]
On Anna Szabolcsi’s paper “Proof-theoretic semantics”
Rutgers semantics workshop, 2005.
Interaction meanings and intermeaning actions
Rutgers semantics reading group, 2005.

Other projects

McBride
A BibTEX bibliography style that follows the “Documentation Two” specifications in the Chicago Manual of Style. 2002–2004.
longtable
A modified version of LATEX’s longtable package that fixes many bugs. 2003.
psbind
A program that trims and reassembles pages in a PostScript document for n-up printing. If you dislike how psnup leaves too much white space in its output, this program is for you. 2001–2003.
Miss Protocol
An advice column on computer technology. 2000–2003.
split-linguist
A filter to split up digest messages from the LINGUIST mailing list. 2001–2002.
A Haskell 98 implementation of
Guy L. Steele, Jr., Building interpreters by composing monads, in POPL ’94: conference record of the annual ACM symposium on principles of programming languages. 2001.
bif2bnt
A Web service to convert Bayes nets from BIF format to BNT format. 2000.
fmt2
A program that reformats Chinese text in Big-5 encoding. It breaks lines intelligently using an algorithm similar to that of TEX. 1998–2000.
The first movement of a sonatina in C major
1999.
Course Decision Assistant
Geoffrey Mainland, Chung-chieh Shan, and Alex Wong. An online searchable course catalog for Harvard University. 1996–1999.
Change my signature
A Web service that lets anyone change the signature file I use in my personal email messages and Usenet postings. 1997.
huhebi: the self-organizing narrative
An early experiment in hypertext collaboration. 1995.
The Microsoft conspiracy
Chung-chieh Shan and Kaihsu Tai. An early experiment in non-hypertext collaboration. Taipei: Informationist. 1995.
Miscellany
Academic: academia advice, computational linguistics, computer science, research ideas, terminology lookup, typesetting. Other: bicycle, comics recommendations, deaf people, digital piano selection advice, midnight ambiance, sexual orientation, silicon wall clock, string collection, twelve days of the invasion.

Professional activities

Editorial board: Semantics and Pragmatics.

Program committee: CVSC 2014. ICFP 2014. Amsterdam colloquium 2013. APLAS 2013 (chair). Haskell 2013 (chair). *SEM 2012. AISC 2012. LACL 2012. NASSLLI 2012. Off the beaten track 2012. Onward! 2012. WGP 2012. Continuation 2011 (chair). DSL 2011 (chair). GPCE 2011. LACL 2011. ML 2011 (chair). PEPM 2011. UAI 2011. AISC 2010. ESSLLI 2010. FLOPS 2010. Haskell 2010. NASSLLI 2010. UAI 2010. APLAS 2009. IFL 2009. Continuation Fest 2008 (chair). GPCE 2008. ICFP 2008 (poster chair). Haskell 2007. PLPV 2007. Scheme 2007.

Member: Association for Computing Machinery. Association for Logic, Language and Information. IFIP TC2 working group on program generation.

Other experience

Chief technology officer, Idiom Technologies (Waltham, MA), 1999–2000.

Research intern, Mitsubishi Electric Research Laboratory (Cambridge, MA), summer 1998. (Mentor: Matthew Brand)

Research intern, Center for the Neural Basis of Cognition (Pittsburgh, PA), summer 1997. (Mentor: Tai Sing Lee)

Software design engineer, Microsoft Corporation (Redmond, WA), summer 1996.

[Photograph of a bicycle warning sign with `Hell yeah' written on it] New Brunswick, NJ (2006-07-27)