The call for contributions to this bibliography asked of "...papers dealing with the basic issue of 'how to add state to a functional language' (this would include things such as linear type ststems; monadic, continuations-based, or stream-based ideas; typing of references; I/O; etc.)". We have taken a flexible approach to defining "functional languages": we want to enable users of this bibliography to study not only the addition of state constructs to pure functional languages such as Haskell and Miranda (which ostensibly lack them), but also the formal rationalization of similar languages, such as Scheme and Standard ML, which already include such constructs. We definitely exclude the vast classical literature on state in "conventional" programming languages. We also exclude the vast literature on optimization techniques (most of which are based on abstract interpretation) for improving the performance of state-manipulating functional programs. The rough dividing line is the use of the lambda-calculus as a tool in language definition.
Author Comments:
Many of the entires in the biliography habe been contributed by researchers in the field; The rest are from our own collections. Not all contributions were received with annotations: the second editor has attempted to fill some of the gaps as permitted either by his own familiarity with the work or by his willingness to adapt the authors' own published abstract. Please send corrections, additions, and comments.