%% This BibTeX bibliography file was created using BibDesk. %% http://www.cs.ucsd.edu/~mmccrack/bibdesk.html %% Created for Doaitse at 2011-03-21 14:45:16 +0100 %% Saved with string encoding Unicode (UTF-8) @string{acm = {{ACM} press}} @string{aw = {{A}ddison-{W}esley}} @string{cup = {{C}ambridge {U}niversity {P}ress}} @string{jfp = {{J}ournal of {F}unctional {P}rogramming}} @string{lncs = {{LNCS}}} @string{sv = {{S}pringer-{V}erlag}} @article{CambridgeJournals:5794712, Author = {JACOBS, BART and HEUNEN, CHRIS and HASUO, ICHIRO}, Date-Added = {2011-01-13 21:05:05 +0100}, Date-Modified = {2011-01-13 21:05:05 +0100}, Doi = {10.1017/S0956796809007308}, Eprint = {http://journals.cambridge.org/article_S0956796809007308}, Journal = {Journal of Functional Programming}, Number = {3-4}, Pages = {403-438}, Title = {Categorical semantics for arrows}, Url = {http://dx.doi.org/10.1017/S0956796809007308}, Volume = {19}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAdwAAAAAAdwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9BcnJvd3NKYWNvYnMtUzA5NTY3OSM2OTM2OEIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaTaLyVUZVFBERiAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyVULRAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpBcnJvd3NKYWNvYnMtUzA5NTY3OSM2OTM2OEIucGRmAAAOAEgAIwBBAHIAcgBvAHcAcwBKAGEAYwBvAGIAcwAtAFMAMAA5ADUANgA3ADkANgA4ADAAOQAwADAANwAzADAAOABhAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgBCVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0Fycm93c0phY29icy1TMDk1Njc5NjgwOTAwNzMwOGEucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEEkuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL0Fycm93c0phY29icy1TMDk1Njc5NjgwOTAwNzMwOGEucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAoACggKHApACmwKfAq0CtAK9AwkDDgMRAx4DIwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAM1}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796809007308}} @article{CambridgeJournals:7118816, Author = {LINDLEY, SAM and WADLER, PHILIP and YALLOP, JEREMY}, Date-Added = {2011-01-13 20:55:03 +0100}, Date-Modified = {2011-01-13 20:55:03 +0100}, Doi = {10.1017/S095679680999027X}, Eprint = {http://journals.cambridge.org/article_S095679680999027X}, Journal = {Journal of Functional Programming}, Number = {01}, Pages = {51-69}, Title = {The arrow calculus}, Url = {http://dx.doi.org/10.1017/S095679680999027X}, Volume = {20}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAeAAAAAAAeAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9BcnJvd2NhbGN1bHVzLVMwOTU2NyM2OTM1QzUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaTXFyVUW0lBERiAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyVUIwgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpBcnJvd2NhbGN1bHVzLVMwOTU2NyM2OTM1QzUucGRmAAAOAEoAJABBAHIAcgBvAHcAYwBhAGwAYwB1AGwAdQBzAC0AUwAwADkANQA2ADcAOQA2ADgAMAA5ADkAOQAwADIANwBYAGEALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAENVc2Vycy9kb2FpdHNlL0RvY3VtZW50cy9QYXBlcnMvQXJyb3djYWxjdWx1cy1TMDk1Njc5NjgwOTk5MDI3WGEucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxBKLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9BcnJvd2NhbGN1bHVzLVMwOTU2Nzk2ODA5OTkwMjdYYS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKAChAKGAosClAKfAqMCsQK4AsEDDgMTAxYDIwMoAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAzo=}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S095679680999027X}} @article{CambridgeJournals:7407508, Author = {ACHTEN, PETER}, Date-Added = {2011-01-13 20:49:12 +0100}, Date-Modified = {2011-01-13 20:49:12 +0100}, Doi = {10.1017/S0956796810000055}, Eprint = {http://journals.cambridge.org/article_S0956796810000055}, Journal = {Journal of Functional Programming}, Pages = {1-19}, Title = {The Soccer-Fun project}, Url = {http://dx.doi.org/10.1017/S0956796810000055}, Volume = {FirstView}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAcgAAAAAAcgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB1BY2h0ZW4tUzA5NTY3OTY4MTAwMDAwNTVhLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaTUEyVUVjlBERiAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyVUHfgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBJTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpBY2h0ZW4tUzA5NTY3OTY4MTAwMDAwNTVhLnBkZgAADgA8AB0AQQBjAGgAdABlAG4ALQBTADAAOQA1ADYANwA5ADYAOAAxADAAMAAwADAAMAA1ADUAYQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAPFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9BY2h0ZW4tUzA5NTY3OTY4MTAwMDAwNTVhLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxBDLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9BY2h0ZW4tUzA5NTY3OTY4MTAwMDAwNTVhLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJsAm4CcwJ8AocCiwKZAqACqQLvAvQC9wMEAwkAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADGw==}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796810000055}} @inproceedings{Jones99typinghaskell, Author = {Jones, Mark P.}, Booktitle = {Haskell Workshop}, Date-Added = {2010-12-22 16:47:28 +0100}, Date-Modified = {2010-12-22 16:47:28 +0100}, Title = {Typing Haskell in Haskell}, Year = {1999}} @article{Runciman:2008:SLS:1543134.1411292, Acmid = {1411292}, Address = {New York, NY, USA}, Author = {Runciman, Colin and Naylor, Matthew and Lindblad, Fredrik}, Date-Added = {2010-12-17 17:06:03 +0100}, Date-Modified = {2010-12-17 17:06:03 +0100}, Doi = {http://doi.acm.org/10.1145/1543134.1411292}, Issn = {0362-1340}, Issue = {2}, Journal = {SIGPLAN Not.}, Keywords = {embedded language, exhaustive search, lazy evaluation, property-based testing, type classes}, Month = {September}, Numpages = {12}, Pages = {37--48}, Publisher = {ACM}, Title = {Smallcheck and lazy smallcheck: automatic exhaustive testing for small values}, Url = {http://doi.acm.org/10.1145/1543134.1411292}, Volume = {44}, Year = {2008}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1543134.1411292}} @article{Jones-1990, Address = {New York, NY, USA}, Author = {Jones, Larry G.}, Date-Added = {2010-12-14 12:46:45 +0100}, Date-Modified = {2010-12-14 12:46:45 +0100}, Doi = {http://doi.acm.org/10.1145/78969.78971}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Number = {3}, Pages = {429--462}, Publisher = {ACM}, Title = {Efficient evaluation of circular attribute grammars}, Volume = {12}, Year = {1990}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wNDI5LWpvbmVzLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYOmMyS0XwwAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyS0JswAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNDI5LWpvbmVzLnBkZgAOAB4ADgBwADQAMgA5AC0AagBvAG4AZQBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A0Mjktam9uZXMucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wNDI5LWpvbmVzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/78969.78971}} @incollection{springerlink:10.1007/3-540-18317-5_10, Affiliation = {Chalmers University of Technology Department of Computer Science S-412 96 G{\"o}teborg Sweden S-412 96 G{\"o}teborg Sweden}, Author = {Johnsson, Thomas}, Booktitle = {Functional Programming Languages and Computer Architecture}, Date-Added = {2010-12-14 12:36:37 +0100}, Date-Modified = {2010-12-14 12:36:37 +0100}, Editor = {Kahn, Gilles}, Note = {10.1007/3-540-18317-5_10}, Pages = {154-173}, Publisher = {Springer Berlin / Heidelberg}, Series = {Lecture Notes in Computer Science}, Title = {Attribute grammars as a functional programming paradigm}, Url = {http://dx.doi.org/10.1007/3-540-18317-5_10}, Volume = {274}, Year = {1987}, Abstract = {The purpose of this paper is twofold. Firstly we show how attributes in an attribute grammar can be simply and efficiently evaluated using a lazy functional language. The class of attribute grammars we can deal with are the most general ones possible: attributes may depend on each other in an arbitrary way, as long as there are no truly circular data dependencies.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1mdWxsdGV4dDMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYOhcyS0VZAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyS0HVAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpmdWxsdGV4dDMucGRmAAAOABwADQBmAHUAbABsAHQAZQB4AHQAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9mdWxsdGV4dDMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2Z1bGx0ZXh0My5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-18317-5_10}} @inproceedings{Elliott:2009:PFR:1596638.1596643, Acmid = {1596643}, Address = {New York, NY, USA}, Author = {Elliott, Conal M.}, Booktitle = {Proceedings of the 2nd ACM SIGPLAN symposium on Haskell}, Date-Added = {2010-12-14 12:04:57 +0100}, Date-Modified = {2010-12-14 12:04:57 +0100}, Doi = {http://doi.acm.org/10.1145/1596638.1596643}, Isbn = {978-1-60558-508-6}, Keywords = {concurrency, data-driven, demand-driven, functional reactive programming, semantics}, Location = {Edinburgh, Scotland}, Numpages = {12}, Pages = {25--36}, Publisher = {ACM}, Series = {Haskell '09}, Title = {Push-pull functional reactive programming}, Url = {http://doi.acm.org/10.1145/1596638.1596643}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZAAAAAAAZAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA9wMjUtZWxsaW90dC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYOaVyS0N/AAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySz/7AAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA7TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjUtZWxsaW90dC5wZGYAAA4AIAAPAHAAMgA1AC0AZQBsAGwAaQBvAHQAdAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMjUtZWxsaW90dC5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QNS4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDI1LWVsbGlvdHQucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAjQCNgI7AkQCTwJTAmECaAJxAqkCrgKxAr4CwwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALV}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596638.1596643}} @inproceedings{Pirog:2010:SDS:1863523.1863528, Acmid = {1863528}, Address = {New York, NY, USA}, Author = {Pirog, Maciej and Biernacki, Dariusz}, Booktitle = {Proceedings of the third ACM Haskell symposium on Haskell}, Date-Added = {2010-12-14 12:00:04 +0100}, Date-Modified = {2010-12-14 12:00:04 +0100}, Doi = {http://doi.acm.org/10.1145/1863523.1863528}, Isbn = {978-1-4503-0252-4}, Keywords = {abstract machine, coq, derivation, natural semantics, stg, verification}, Location = {Baltimore, Maryland, USA}, Numpages = {12}, Pages = {25--36}, Publisher = {ACM}, Series = {Haskell '10}, Title = {A systematic derivation of the STG machine verified in Coq}, Url = {http://doi.acm.org/10.1145/1863523.1863528}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMjUtcGlyb2cucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYOXAyS0MzwAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySz+vwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjUtcGlyb2cucGRmAAAOABwADQBwADIANQAtAHAAaQByAG8AZwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMjUtcGlyb2cucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AyNS1waXJvZy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863523.1863528}} @inproceedings{Yorgey:2010:SFT:1863523.1863542, Acmid = {1863542}, Address = {New York, NY, USA}, Author = {Yorgey, Brent A.}, Booktitle = {Proceedings of the third ACM Haskell symposium on Haskell}, Date-Added = {2010-12-14 11:58:26 +0100}, Date-Modified = {2010-12-14 11:58:26 +0100}, Doi = {http://doi.acm.org/10.1145/1863523.1863542}, Isbn = {978-1-4503-0252-4}, Keywords = {algebraic data types, combinatorial species}, Location = {Baltimore, Maryland, USA}, Numpages = {12}, Pages = {147--158}, Publisher = {ACM}, Series = {Haskell '10}, Title = {Species and functors and types, oh my!}, Url = {http://doi.acm.org/10.1145/1863523.1863542}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZAAAAAAAZAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA9wMTQ3LXlvcmdleS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYOWQyS0MbgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySz+XgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA7TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMTQ3LXlvcmdleS5wZGYAAA4AIAAPAHAAMQA0ADcALQB5AG8AcgBnAGUAeQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMTQ3LXlvcmdleS5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QNS4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDE0Ny15b3JnZXkucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAjQCNgI7AkQCTwJTAmECaAJxAqkCrgKxAr4CwwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALV}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863523.1863542}} @inproceedings{Morris:2010:ICT:1863543.1863596, Acmid = {1863596}, Address = {New York, NY, USA}, Author = {Morris, J. Garrett and Jones, Mark P.}, Booktitle = {Proceedings of the 15th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-12-12 21:12:33 +0100}, Date-Modified = {2010-12-12 21:12:33 +0100}, Doi = {http://doi.acm.org/10.1145/1863543.1863596}, Isbn = {978-1-60558-794-3}, Keywords = {functional dependencies, haskell, overlapping instances, qualified types, type classes}, Location = {Baltimore, Maryland, USA}, Numpages = {12}, Pages = {375--386}, Publisher = {ACM}, Series = {ICFP '10}, Title = {Instance chains: type class programming without overlapping instances}, Url = {http://doi.acm.org/10.1145/1863543.1863596}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZAAAAAAAZAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA9wMzc1LW1vcnJpcy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYLoBySrrxAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySrdtAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA7TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMzc1LW1vcnJpcy5wZGYAAA4AIAAPAHAAMwA3ADUALQBtAG8AcgByAGkAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMzc1LW1vcnJpcy5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QNS4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDM3NS1tb3JyaXMucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAjQCNgI7AkQCTwJTAmECaAJxAqkCrgKxAr4CwwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALV}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863543.1863596}} @inproceedings{Jones:1995:FPO:647698.734150, Acmid = {734150}, Address = {London, UK}, Author = {Jones, Mark P.}, Booktitle = {Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text}, Date-Added = {2010-12-12 21:10:49 +0100}, Date-Modified = {2010-12-12 21:10:49 +0100}, Isbn = {3-540-59451-5}, Numpages = {40}, Pages = {97--136}, Publisher = {Springer-Verlag}, Title = {Functional Programming with Overloading and Higher-Order Polymorphism}, Url = {http://portal.acm.org/citation.cfm?id=647698.734150}, Year = {1995}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZwAAAAAAZwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBJzcHJpbmdzY2hvb2w5NS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYLj8ySrp/wAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySrb7wAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA+TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpzcHJpbmdzY2hvb2w5NS5wZGYADgAmABIAcwBwAHIAaQBuAGcAcwBjAGgAbwBvAGwAOQA1AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAxVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3NwcmluZ3NjaG9vbDk1LnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOC4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvc3ByaW5nc2Nob29sOTUucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkACQgJHAlACWwJfAm0CdAJ9ArgCvQLAAs0C0gAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALk}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=647698.734150}} @inproceedings{Harris:2005:CMT:1065944.1065952, Acmid = {1065952}, Address = {New York, NY, USA}, Author = {Harris, Tim and Marlow, Simon and Peyton-Jones, Simon and Herlihy, Maurice}, Booktitle = {Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming}, Date-Added = {2010-12-08 22:57:42 +0100}, Date-Modified = {2010-12-08 22:57:42 +0100}, Doi = {http://doi.acm.org/10.1145/1065944.1065952}, Isbn = {1-59593-080-9}, Keywords = {locks, non-blocking algorithms, transactions}, Location = {Chicago, IL, USA}, Numpages = {13}, Pages = {48--60}, Publisher = {ACM}, Series = {PPoPP '05}, Title = {Composable memory transactions}, Url = {http://doi.acm.org/10.1145/1065944.1065952}, Year = {2005}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wNDgtaGFycmlzLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBWhySW98wAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySWv4wAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNDgtaGFycmlzLnBkZgAOAB4ADgBwADQAOAAtAGgAYQByAHIAaQBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A0OC1oYXJyaXMucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wNDgtaGFycmlzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1065944.1065952}} @inproceedings{Pucella:2008:HST:1411286.1411290, Acmid = {1411290}, Address = {New York, NY, USA}, Author = {Pucella, Riccardo and Tov, Jesse A.}, Booktitle = {Proceedings of the first ACM SIGPLAN symposium on Haskell}, Date-Added = {2010-12-08 22:56:36 +0100}, Date-Modified = {2010-12-08 22:56:36 +0100}, Doi = {http://doi.acm.org/10.1145/1411286.1411290}, Isbn = {978-1-60558-064-7}, Keywords = {concurrency, embedded type systems, functional programming, haskell, phantom types, session types, type classes}, Location = {Victoria, BC, Canada}, Numpages = {12}, Pages = {25--36}, Publisher = {ACM}, Series = {Haskell '08}, Title = {Haskell session types with (almost) no class}, Url = {http://doi.acm.org/10.1145/1411286.1411290}, Year = {2008}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZAAAAAAAZAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA9wMjUtcHVjZWxsYS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBV+ySW9xgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySWvtgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA7TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjUtcHVjZWxsYS5wZGYAAA4AIAAPAHAAMgA1AC0AcAB1AGMAZQBsAGwAYQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMjUtcHVjZWxsYS5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QNS4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDI1LXB1Y2VsbGEucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAjQCNgI7AkQCTwJTAmECaAJxAqkCrgKxAr4CwwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALV}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1411286.1411290}} @inproceedings{Marlow:2006:EDH:1159842.1159854, Acmid = {1159854}, Address = {New York, NY, USA}, Author = {Marlow, Simon}, Booktitle = {Proceedings of the 2006 ACM SIGPLAN workshop on Haskell}, Date-Added = {2010-12-08 22:55:39 +0100}, Date-Modified = {2010-12-08 22:55:39 +0100}, Doi = {http://doi.acm.org/10.1145/1159842.1159854}, Isbn = {1-59593-489-8}, Keywords = {Haskell, exceptions}, Location = {Portland, Oregon, USA}, Numpages = {11}, Pages = {96--106}, Publisher = {ACM}, Series = {Haskell '06}, Title = {An extensible dynamically-typed hierarchy of exceptions}, Url = {http://doi.acm.org/10.1145/1159842.1159854}, Year = {2006}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wOTYtbWFybG93LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBVGySW9egAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySWvagAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwOTYtbWFybG93LnBkZgAOAB4ADgBwADkANgAtAG0AYQByAGwAbwB3AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A5Ni1tYXJsb3cucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wOTYtbWFybG93LnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1159842.1159854}} @article{Darwiche:2010:BN:1859204.1859227, Acmid = {1859227}, Address = {New York, NY, USA}, Author = {Darwiche, Adnan}, Date-Added = {2010-12-04 22:23:59 +0100}, Date-Modified = {2010-12-04 22:23:59 +0100}, Doi = {http://doi.acm.org/10.1145/1859204.1859227}, Issn = {0001-0782}, Issue = {12}, Journal = {Commun. ACM}, Month = {December}, Numpages = {11}, Pages = {80--90}, Publisher = {ACM}, Title = {Bayesian networks}, Url = {http://doi.acm.org/10.1145/1859204.1859227}, Volume = {53}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZQAAAAAAZQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBBwODAtZGFyd2ljaGUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXnIzySGj5lBERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySGV1gAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA8TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwODAtZGFyd2ljaGUucGRmAA4AIgAQAHAAOAAwAC0AZABhAHIAdwBpAGMAaABlAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAvVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A4MC1kYXJ3aWNoZS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDYuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3A4MC1kYXJ3aWNoZS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACOAI6Aj8CSAJTAlcCZQJsAnUCrgKzArYCwwLIAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAto=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1859204.1859227}} @incollection{springerlink:10.1007/978-3-642-02655-3_12, Affiliation = {The University of Kansas Information and Telecommunication Technology Center Lawrence KS USA 66045}, Author = {Snyder, Mark and Frisby, Nicolas and Kimmell, Garrin and Alexander, Perry}, Booktitle = {Software Composition}, Date-Added = {2010-12-02 22:27:40 +0100}, Date-Modified = {2010-12-02 22:27:40 +0100}, Editor = {Bergel, Alexandre and Fabry, Johan}, Note = {10.1007/978-3-642-02655-3_12}, Pages = {160-176}, Publisher = {Springer Berlin / Heidelberg}, Series = {Lecture Notes in Computer Science}, Title = {Writing Composable Software with InterpreterLib}, Url = {http://dx.doi.org/10.1007/978-3-642-02655-3_12}, Volume = {5634}, Year = {2009}, Abstract = {InterpreterLib is a Haskell library for building and composing modular syntactic and semantic definitions. We identify two forms of composition within this domain. Composition along syntax combines semantics for denoting differing term spaces to a common denotational domain. Composition along semantics combines semantics for denoting a common term space to differing domains. We demonstrate these composition mechanisms by applying InterpreterLib to examples and then relate our experiences with InterpreterLib implementing tools for the Rosetta language.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1mdWxsdGV4dDIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXfjsyR3N6AAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyR2/2AAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpmdWxsdGV4dDIucGRmAAAOABwADQBmAHUAbABsAHQAZQB4AHQAMgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9mdWxsdGV4dDIucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2Z1bGx0ZXh0Mi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-02655-3_12}} @incollection{springerlink:10.1007/978-3-540-85373-2_6, Affiliation = {University of York UK}, Author = {Wallace, Malcolm}, Booktitle = {Implementation and Application of Functional Languages}, Date-Added = {2010-12-02 22:24:43 +0100}, Date-Modified = {2010-12-02 22:24:43 +0100}, Editor = {Chitil, Olaf and Horv{\'a}th, Zolt{\'a}n and Zs{\'o}k, Vikt{\'o}ria}, Note = {10.1007/978-3-540-85373-2_6}, Pages = {93-110}, Publisher = {Springer Berlin / Heidelberg}, Series = {Lecture Notes in Computer Science}, Title = {Partial Parsing: Combining Choice with Commitment}, Url = {http://dx.doi.org/10.1007/978-3-540-85373-2_6}, Volume = {5083}, Year = {2008}, Abstract = {Parser combinators, often monadic, are a venerable and widely-used solution to read data from some external format. However, the capability to return a partial parse has, until now, been largely missing. When only a small portion of the entire data is desired, it has been necessary either to parse the entire input in any case, or to break up the grammar into smaller pieces and move some work outside the world of combinators. This paper presents a technique for mixing lazy, demand-driven, parsing with strict parsing, all within the same set of combinators. The grammar specification remains complete and unbroken, yet only sufficient input is consumed to satisfy the result demanded. It is built on a combination of applicative and monadic parsers. Monadic parsing alone is insufficient to allow a choice operator to coexist with the early commitment needed for lazy results. Applicative parsing alone can give partial results, but does not permit context-sensitive grammars. But used together, we gain both partiality and a flexible ease of use. Performance results demonstrate that partial parsing is often faster and more space-efficient than strict parsing, but never worse. The trade-off is that partiality has consequences when dealing with ill-formed input.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1Qb2x5cGFyc2UucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ94xVnKiAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxVm8eAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpQb2x5cGFyc2UucGRmAAAOABwADQBQAG8AbAB5AHAAYQByAHMAZQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9Qb2x5cGFyc2UucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL1BvbHlwYXJzZS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-85373-2_6}} @incollection{springerlink:10.1007/3-540-59451-5_1, Affiliation = {Utrecht University Dept. of Computer Science P.O.Box 80.089 3508 TB Utrecht The Netherlands P.O.Box 80.089 3508 TB Utrecht The Netherlands}, Author = {Fokker, Jeroen}, Booktitle = {Advanced Functional Programming}, Date-Added = {2010-12-02 22:22:23 +0100}, Date-Modified = {2010-12-02 22:22:23 +0100}, Editor = {Jeuring, Johan and Meijer, Erik}, Note = {10.1007/3-540-59451-5_1}, Pages = {1-23}, Publisher = {Springer Berlin / Heidelberg}, Series = {Lecture Notes in Computer Science}, Title = {Functional parsers}, Url = {http://dx.doi.org/10.1007/3-540-59451-5_1}, Volume = {925}, Year = {1995}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1mdWxsdGV4dDEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXfd5yR3L0gAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyR29wgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpmdWxsdGV4dDEucGRmAAAOABwADQBmAHUAbABsAHQAZQB4AHQAMQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9mdWxsdGV4dDEucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2Z1bGx0ZXh0MS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/3-540-59451-5_1}} @inproceedings{Hin00Mem, Author = {Hinze, Ralf}, Booktitle = {Proceedings of the 2nd Workshop on Generic Programming, {Ponte de Lima}, {Portugal}}, Date-Added = {2010-11-26 17:30:10 +0100}, Date-Modified = {2010-11-26 17:30:10 +0100}, Editor = {Jeuring, Johan}, Month = {jul}, Note = {The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-2000-19}, Pages = {17--32}, Title = {Memo functions, polytypically!}, Year = {2000}} @inproceedings{727440, Address = {London, UK}, Author = {Hedin, G\"{o}rel}, Booktitle = {CC '94: Proceedings of the 5th International Conference on Compiler Construction}, Date-Added = {2010-11-26 17:28:10 +0100}, Date-Modified = {2010-11-26 17:28:10 +0100}, Isbn = {3-540-57877-3}, Pages = {31--51}, Publisher = {Springer-Verlag}, Title = {An Overview of Door Attribute Grammars}, Year = {1994}} @inproceedings{1248652, Address = {New York, NY, USA}, Author = {Chakravarty, Manuel M. T. and Leshchinskiy, Roman and Jones, Simon Peyton and Keller, Gabriele and Marlow, Simon}, Booktitle = {DAMP '07: Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, Date-Added = {2010-11-26 16:41:05 +0100}, Date-Modified = {2010-11-26 16:41:05 +0100}, Doi = {http://doi.acm.org/10.1145/1248648.1248652}, Isbn = {978-1-59593-690-5}, Location = {Nice, France}, Pages = {10--18}, Publisher = {ACM}, Title = {Data parallel Haskell: a status report}, Year = {2007}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1248648.1248652}} @inproceedings{Holdermans:2010:PFA:1863543.1863554, Acmid = {1863554}, Address = {New York, NY, USA}, Author = {Holdermans, Stefan and Hage, Jurriaan}, Booktitle = {Proceedings of the 15th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-11-23 14:18:07 +0100}, Date-Modified = {2010-11-23 14:18:07 +0100}, Doi = {http://doi.acm.org/10.1145/1863543.1863554}, Isbn = {978-1-60558-794-3}, Keywords = {higher-ranked polymorphism, type-based program analysis}, Location = {Baltimore, Maryland, USA}, Numpages = {12}, Pages = {63--74}, Publisher = {ACM}, Series = {ICFP '10}, Title = {Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators}, Url = {http://doi.acm.org/10.1145/1863543.1863554}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZwAAAAAAZwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBJwNjMtaG9sZGVybWFucy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWdxByRF9uAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyRFvqAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA+TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNjMtaG9sZGVybWFucy5wZGYADgAmABIAcAA2ADMALQBoAG8AbABkAGUAcgBtAGEAbgBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAxVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A2My1ob2xkZXJtYW5zLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOC4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDYzLWhvbGRlcm1hbnMucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkACQgJHAlACWwJfAm0CdAJ9ArgCvQLAAs0C0gAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALk}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863543.1863554}} @inproceedings{Chapman:2010:GAL:1863543.1863547, Acmid = {1863547}, Address = {New York, NY, USA}, Author = {Chapman, James and Dagand, Pierre-\'{E}variste and McBride, Conor and Morris, Peter}, Booktitle = {Proceedings of the 15th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-11-23 14:16:53 +0100}, Date-Modified = {2010-11-23 14:16:53 +0100}, Doi = {http://doi.acm.org/10.1145/1863543.1863547}, Isbn = {978-1-60558-794-3}, Keywords = {data structure, metaprogramming, monads, proof assistants, type systems}, Location = {Baltimore, Maryland, USA}, Numpages = {12}, Pages = {3--14}, Publisher = {ACM}, Series = {ICFP '10}, Title = {The gentle art of levitation}, Url = {http://doi.acm.org/10.1145/1863543.1863547}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wMy1jaGFwbWFuLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWcWXyRFaZAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyRFMVAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMy1jaGFwbWFuLnBkZgAOAB4ADgBwADMALQBjAGgAYQBwAG0AYQBuAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AzLWNoYXBtYW4ucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wMy1jaGFwbWFuLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863543.1863547}} @inproceedings{Danielsson:2010:TPC:1863543.1863585, Acmid = {1863585}, Address = {New York, NY, USA}, Author = {Danielsson, Nils Anders}, Booktitle = {Proceedings of the 15th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-11-23 11:33:25 +0100}, Date-Modified = {2010-11-23 11:33:25 +0100}, Doi = {http://doi.acm.org/10.1145/1863543.1863585}, Isbn = {978-1-60558-794-3}, Keywords = {dependent types, mixed induction and coinduction, parser combinators, productivity, termination}, Location = {Baltimore, Maryland, USA}, Numpages = {12}, Pages = {285--296}, Publisher = {ACM}, Series = {ICFP '10}, Title = {Total parser combinators}, Url = {http://doi.acm.org/10.1145/1863543.1863585}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaAAAAAAAaAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBNwMjg1LWRhbmllbHNzb24ucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWbsXyRFXqAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyRFJmAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA/TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjg1LWRhbmllbHNzb24ucGRmAAAOACgAEwBwADIAOAA1AC0AZABhAG4AaQBlAGwAcwBzAG8AbgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAMlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMjg1LWRhbmllbHNzb24ucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDkuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AyODUtZGFuaWVsc3Nvbi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACRAJGAksCVAJfAmMCcQJ4AoECvQLCAsUC0gLXAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAuk=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863543.1863585}} @article{Caires20104399, Author = {Caires, Lu{\'\i}s and Vieira, Hugo Torres}, Date-Added = {2010-11-17 16:08:43 +0100}, Date-Modified = {2010-11-17 16:08:43 +0100}, Doi = {DOI: 10.1016/j.tcs.2010.09.010}, Issn = {0304-3975}, Journal = {Theoretical Computer Science}, Keywords = {Session types}, Note = {European Symposium on Programming 2009 - ESOP 2009}, Number = {51-52}, Pages = {4399 - 4440}, Title = {Conversation types}, Url = {http://www.sciencedirect.com/science/article/B6V1G-512K1VW-1/2/bb484b6a955be068d053c04b5f3edc1c}, Volume = {411}, Year = {2010}, Abstract = { We present a type theory for analyzing concurrent multiparty interactions as found in service-oriented computing. Our theory introduces a novel and flexible type structure, able to uniformly describe both the internal and the interface behavior of systems, referred respectively as choreographies and contracts in web-services terminology. The notion of conversation builds on the fundamental concept of session, but generalizes it along directions up to now unexplored; in particular, conversation types discipline interactions in conversations while accounting for dynamical join and leave of an unanticipated number of participants. We prove that well-typed systems never violate the prescribed conversation constraints. We also present techniques to ensure progress of systems involving several interleaved conversations, a previously open problem.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaQAAAAAAaQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBRCZDhJYXgtc2RhcnRpY2xlLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHTRyQmuvQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyQmgrQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBATWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpCZDhJYXgtc2RhcnRpY2xlLnBkZgAOACoAFABCAGQAOABJAGEAeAAtAHMAZABhAHIAdABpAGMAbABlAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAzVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0JkOElheC1zZGFydGljbGUucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA6Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9CZDhJYXgtc2RhcnRpY2xlLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJIAkoCTwJYAmMCZwJ1AnwChQLCAscCygLXAtwAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC7g==}, Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/B6V1G-512K1VW-1/2/bb484b6a955be068d053c04b5f3edc1c}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.tcs.2010.09.010}} @article{Jaskelioff20104441, Author = {Jaskelioff, Mauro and Moggi, Eugenio}, Date-Added = {2010-11-17 16:07:19 +0100}, Date-Modified = {2010-11-17 16:07:19 +0100}, Doi = {DOI: 10.1016/j.tcs.2010.09.011}, Issn = {0304-3975}, Journal = {Theoretical Computer Science}, Keywords = {Monoidal category}, Note = {European Symposium on Programming 2009 - ESOP 2009}, Number = {51-52}, Pages = {4441 - 4466}, Title = {Monad transformers as monoid transformers}, Url = {http://www.sciencedirect.com/science/article/B6V1G-512VTNX-1/2/4407ba4c6597a9043c3c04ce45ca2877}, Volume = {411}, Year = {2010}, Abstract = { The incremental approach to modular monadic semantics constructs complex monads by using monad transformers to add computational features to a pre-existing monad. A complication of this approach is that the operations associated to the pre-existing monad need to be lifted to the new monad. In a companion paper by Jaskelioff, the lifting problem has been addressed in the setting of system F[omega]. Here, we recast and extend those results in a category-theoretic setting. We abstract and generalize from monads to monoids (in a monoidal category), and from monad transformers to monoid transformers. The generalization brings more simplicity and clarity, and opens the way for lifting of operations with applicability beyond monads.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1zZGFydGljbGUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHRXyQmuAQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyQmf8QAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpzZGFydGljbGUucGRmAAAOABwADQBzAGQAYQByAHQAaQBjAGwAZQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9zZGFydGljbGUucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3NkYXJ0aWNsZS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/B6V1G-512VTNX-1/2/4407ba4c6597a9043c3c04ce45ca2877}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.tcs.2010.09.011}} @incollection{springerlink:10.1007/978-3-540-85373-2_9, Affiliation = {University of York UK}, Author = {Mitchell, Neil and Runciman, Colin}, Booktitle = {Implementation and Application of Functional Languages}, Date-Added = {2010-11-17 14:49:22 +0100}, Date-Modified = {2010-11-17 14:49:22 +0100}, Editor = {Chitil, Olaf and Horv{\'a}th, Zolt{\'a}n and Zs{\'o}k, Vikt{\'o}ria}, Note = {10.1007/978-3-540-85373-2_9}, Pages = {147-164}, Publisher = {Springer Berlin / Heidelberg}, Series = {Lecture Notes in Computer Science}, Title = {A Supercompiler for Core Haskell}, Url = {http://dx.doi.org/10.1007/978-3-540-85373-2_9}, Volume = {5083}, Year = {2008}, Abstract = {Haskell is a functional language, with features such as higher order functions and lazy evaluation, which allow succinct programs. These high-level features present many challenges for optimising compilers. We report practical experiments using novel variants of supercompilation, with special attention to let bindings and the generalisation technique.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAcgAAAAAAcgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB1ydW5jaW1hbi1zdXBlcmNvbXBpbGF0aW9uLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWG3OyQmbtAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyQmNpAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBJTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpydW5jaW1hbi1zdXBlcmNvbXBpbGF0aW9uLnBkZgAADgA8AB0AcgB1AG4AYwBpAG0AYQBuAC0AcwB1AHAAZQByAGMAbwBtAHAAaQBsAGEAdABpAG8AbgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAPFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9ydW5jaW1hbi1zdXBlcmNvbXBpbGF0aW9uLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxBDLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9ydW5jaW1hbi1zdXBlcmNvbXBpbGF0aW9uLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJsAm4CcwJ8AocCiwKZAqACqQLvAvQC9wMEAwkAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADGw==}, Bdsk-File-2 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaAAAAAAAaAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBNNYU1BNzYtZnVsbHRleHQucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWG4tyQmcZgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyQmOVgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA/TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpNYU1BNzYtZnVsbHRleHQucGRmAAAOACgAEwBNAGEATQBBADcANgAtAGYAdQBsAGwAdABlAHgAdAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAMlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9NYU1BNzYtZnVsbHRleHQucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDkuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL01hTUE3Ni1mdWxsdGV4dC5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACRAJGAksCVAJfAmMCcQJ4AoECvQLCAsUC0gLXAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAuk=}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-85373-2_9}} @inproceedings{Claessen:2000:QLT:351240.351266, Acmid = {351266}, Address = {New York, NY, USA}, Author = {Claessen, Koen and Hughes, John}, Booktitle = {Proceedings of the fifth ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-11-15 22:30:15 +0100}, Date-Modified = {2010-11-15 22:30:15 +0100}, Doi = {http://doi.acm.org/10.1145/351240.351266}, Isbn = {1-58113-202-6}, Numpages = {12}, Pages = {268--279}, Publisher = {ACM}, Series = {ICFP '00}, Title = {QuickCheck: a lightweight tool for random testing of Haskell programs}, Url = {http://doi.acm.org/10.1145/351240.351266}, Year = {2000}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZgAAAAAAZgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBFwMjY4LWNsYWVzc2VuLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAF2yQdlFAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyQdXBAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA9TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjY4LWNsYWVzc2VuLnBkZgAADgAkABEAcAAyADYAOAAtAGMAbABhAGUAcwBzAGUAbgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAMFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMjY4LWNsYWVzc2VuLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA3Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wMjY4LWNsYWVzc2VuLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAI8Aj4CQwJMAlcCWwJpAnACeQKzArgCuwLIAs0AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC3w==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/351240.351266}} @inproceedings{1863575, Address = {New York, NY, USA}, Author = {Pouillard, Nicolas and Pottier, Fran\c{c}ois}, Booktitle = {ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-10-27 12:28:11 +0200}, Date-Modified = {2010-10-27 12:28:11 +0200}, Doi = {http://doi.acm.org/10.1145/1863543.1863575}, Isbn = {978-1-60558-794-3}, Location = {Baltimore, Maryland, USA}, Pages = {217--228}, Publisher = {ACM}, Title = {A fresh look at programming with names and binders}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZwAAAAAAZwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBJwMjE3LXBvdWlsbGFyZC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVLoayO3LgQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyO2vYQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA+TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjE3LXBvdWlsbGFyZC5wZGYADgAmABIAcAAyADEANwAtAHAAbwB1AGkAbABsAGEAcgBkAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAxVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AyMTctcG91aWxsYXJkLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOC4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDIxNy1wb3VpbGxhcmQucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkACQgJHAlACWwJfAm0CdAJ9ArgCvQLAAs0C0gAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALk}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1863543.1863575}} @inproceedings{976780, Address = {Morristown, NJ, USA}, Author = {Nederhof, Mark-Jan}, Booktitle = {Proceedings of the sixth conference on European chapter of the Association for Computational Linguistics}, Date-Added = {2010-10-26 14:57:30 +0200}, Date-Modified = {2010-10-26 14:58:21 +0200}, Doi = {http://dx.doi.org/10.3115/976744.976780}, Isbn = {90-5434-014-2}, Location = {Utrecht, The Netherlands}, Pages = {305--314}, Publisher = {Association for Computational Linguistics}, Title = {Generalized left-corner parsing}, Year = {1993}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZwAAAAAAZwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBJwMzA1LW5lZGVyaG9mMC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVFmWyOyckQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyOyAcQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA+TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMzA1LW5lZGVyaG9mMC5wZGYADgAmABIAcAAzADAANQAtAG4AZQBkAGUAcgBoAG8AZgAwAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAxVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AzMDUtbmVkZXJob2YwLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOC4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDMwNS1uZWRlcmhvZjAucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkACQgJHAlACWwJfAm0CdAJ9ArgCvQLAAs0C0gAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALk}, Bdsk-Url-1 = {http://dx.doi.org/10.3115/976744.976780}} @article{967844, Address = {New York, NY, USA}, Author = {Elliott, Conal and Finne, Sigbj{\o}rn and De Moor, Oege}, Date-Added = {2010-09-07 09:10:57 +0200}, Date-Modified = {2010-09-07 09:10:57 +0200}, Doi = {http://dx.doi.org/10.1017/S0956796802004574}, Issn = {0956-7968}, Journal = {J. Funct. Program.}, Number = {3}, Pages = {455--481}, Publisher = {Cambridge University Press}, Title = {Compiling embedded languages}, Volume = {13}, Year = {2003}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAdQAAAAAAdQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9Db21waWxpbmcgZW1iZWRkZWQgbCMzODVGQkIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOF+7yKuzFQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyKuW9QAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpDb21waWxpbmcgZW1iZWRkZWQgbCMzODVGQkIucGRmAAAOAEIAIABDAG8AbQBwAGkAbABpAG4AZwAgAGUAbQBiAGUAZABkAGUAZAAgAGwAYQBuAGcAdQBhAGcAZQBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA/VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0NvbXBpbGluZyBlbWJlZGRlZCBsYW5ndWFnZXMucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxBGLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9Db21waWxpbmcgZW1iZWRkZWQgbGFuZ3VhZ2VzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJ4AnoCfwKIApMClwKlAqwCtQL+AwMDBgMTAxgAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADKg==}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796802004574}} @article{springerlink:10.1007/BF00264249, Author = {Bird, R. S.}, Date-Added = {2010-09-07 08:39:44 +0200}, Date-Modified = {2010-09-07 08:39:44 +0200}, Issn = {0001-5903}, Issue = {3}, Journal = {Acta Informatica}, Keyword = {Computer Science}, Note = {10.1007/BF00264249}, Pages = {239-250}, Publisher = {Springer Berlin / Heidelberg}, Title = {Using circular programs to eliminate multiple traversals of data}, Url = {http://dx.doi.org/10.1007/BF00264249}, Volume = {21}, Year = {1984}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF00264249}} @inproceedings{1014018, Address = {New York, NY, USA}, Author = {Nishimura, Susumu}, Booktitle = {PEPM '04: Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation}, Date-Added = {2010-09-07 08:34:33 +0200}, Date-Modified = {2010-09-07 08:34:45 +0200}, Doi = {http://doi.acm.org/10.1145/1014007.1014018}, Isbn = {1-58113-835-0}, Keywords = {Fusion}, Location = {Verona, Italy}, Pages = {101--112}, Publisher = {ACM}, Title = {Fusion with stacks and accumulating parameters}, Year = {2004}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1014007.1014018}} @inproceedings{1596653, Address = {New York, NY, USA}, Author = {Gill, Andy}, Booktitle = {Haskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell}, Date-Added = {2010-08-30 21:48:49 +0200}, Date-Modified = {2010-08-30 21:48:49 +0200}, Doi = {http://doi.acm.org/10.1145/1596638.1596653}, Isbn = {978-1-60558-508-6}, Location = {Edinburgh, Scotland}, Pages = {117--128}, Publisher = {ACM}, Title = {Type-safe observable sharing in Haskell}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMTE3LWdpbGwucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN4apyKHXnQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyKG7fQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMTE3LWdpbGwucGRmAAAOABwADQBwADEAMQA3AC0AZwBpAGwAbAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMTE3LWdpbGwucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AxMTctZ2lsbC5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596638.1596653}} @inproceedings{PraVosAzuSwi2005, Author = {Prasetya, I.S.B.W. and Vos, T.E.J. and Azurat, A. and Swierstra, S.D.}, Booktitle = {OPODIS 2004}, Date-Added = {2010-04-26 16:20:13 +0200}, Date-Modified = {2010-04-26 16:22:35 +0200}, Editor = {Hgashoto, T.}, Howpublished = {Prasetya, I.S.B.W. and Vos, T.E.J. and Azurat, A. and Swierstra, S.D.}, Pages = {55-66}, Publisher = {{S}pringer-{V}erlag}, Series = {{LNCS}}, Title = {A Unity-Based Fraework Towards Component Based Systems}, Volume = {3544}, Year = {2005}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaQAAAAAAaQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBQ0MEI2OUgxOTQ4MjZINjJGLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9ovzJSvQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAvzI2nQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBATWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczo0MEI2OUgxOTQ4MjZINjJGLnBkZgAOACoAFAA0ADAAQgA2ADkASAAxADkANAA4ADIANgBIADYAMgBGAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAzVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzLzQwQjY5SDE5NDgyNkg2MkYucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA6Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy80MEI2OUgxOTQ4MjZINjJGLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJIAkoCTwJYAmMCZwJ1AnwChQLCAscCygLXAtwAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC7g==}} @inproceedings{dijkstra07ehcstruct, Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse}, Booktitle = {Implementation of Functional Languages}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra07ehcstruct.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/wiki/Atze/WebHome/20070831-ifl07-ehcstruct.pdf|}, Title = {{The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity}}, Url = {http://www.cs.uu.nl/wiki/Atze/WebHome/20070831-ifl07-ehcstruct.pdf}, Year = {2007}, Bdsk-Url-1 = {http://www.cs.uu.nl/wiki/Atze/WebHome/20070831-ifl07-ehcstruct.pdf}} @inproceedings{dijkstra06ruler, Author = {Dijkstra, Atze and Swierstra, S. Doaitse}, Booktitle = {Functional and Logic Programming: 8th International Symposium, FLOPS 2006, Fuji-Susono, Japan, April 24-26, 2006}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra06ruler.pdf}, Howpublished = {\verb|http://dx.doi.org/10.1007/11737414_4|}, Institution = {Utrecht University}, Number = {3945}, Pages = {30-46}, Publisher = {Springer-Verlag}, School = {Utrecht University}, Series = {LNCS}, Title = {{Ruler: Programming Type Rules}}, Url = {http://dx.doi.org/10.1007/11737414_4}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/11737414_4}} @techreport{dijkstra06exploit-tyann-tr, Author = {Dijkstra, Atze and Swierstra, S. Doaitse}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra06exploit-tyann-tr.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2006-051.html|}, Institution = {Department of Computer Science, Utrecht University}, Number = {UU-CS-2006-051}, School = {Department of Computer Science, Utrecht University}, Title = {{Exploiting Type Annotations}}, Url = {http://www.cs.uu.nl/research/techreps/UU-CS-2006-051.html}, Year = {2006}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/UU-CS-2006-051.html}} @techreport{dijkstra05ruler, Author = {Dijkstra, Atze and Swierstra, S. Doaitse}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra05ruler.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2005-033.html|}, Institution = {Utrecht University}, School = {Utrecht University}, Title = {{Ruler: Programming Type Rules}}, Url = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-033.html}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-033.html}} @techreport{dijkstra05explimpl, Author = {Dijkstra, Atze and Swierstra, S. Doaitse}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra05explimpl.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2005-032.html|}, Institution = {Utrecht University}, School = {Utrecht University}, Title = {{Making Implicit Parameters Explicit}}, Url = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-032.html}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/UU-CS-2005-032.html}} @misc{dijkstra05ehc-plans, Author = {Dijkstra, Atze}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra05ehc-plans.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/wiki/Ehc/ProjectPlans|}, Title = {{EHC Project Plans}}, Url = {http://www.cs.uu.nl/wiki/Ehc/ProjectPlans}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.uu.nl/wiki/Ehc/ProjectPlans}} @misc{www05uuag, Author = {Swierstra, Doaitse S. and Baars, Arthur}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/www05uuag.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/wiki/HUT/AttributeGrammarSystem|}, Title = {{Attribute Grammar System}}, Url = {http://www.cs.uu.nl/wiki/HUT/AttributeGrammarSystem}, Year = {2005}, Bdsk-Url-1 = {http://www.cs.uu.nl/wiki/HUT/AttributeGrammarSystem}} @misc{dijkstra04ehc-web, Author = {Dijkstra, Atze}, Date-Added = {2010-04-26 16:14:25 +0200}, Date-Modified = {2010-04-26 16:14:25 +0200}, Eprint = {papers/dijkstra04ehc-web.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/groups/ST/Ehc/WebHome|}, Title = {{EHC Web}}, Url = {http://www.cs.uu.nl/groups/ST/Ehc/WebHome}, Year = {2004}, Bdsk-Url-1 = {http://www.cs.uu.nl/groups/ST/Ehc/WebHome}} @inproceedings{middelkoop08gadts, Author = {Middelkoop, Arie and Dijkstra, Atze and Swierstra, S. Doaitse}, Booktitle = {Trends in Functional Programming (TFP)}, Date-Added = {2010-04-26 16:14:17 +0200}, Date-Modified = {2010-04-26 16:14:17 +0200}, Eprint = {papers/middelkoop08gadts.pdf}, Title = {{A Leaner Specification for GADTs}}, Year = {2008}} @inproceedings{fokker08abs-int-ag, Author = {Fokker, Jeroen and Swierstra, S. Doaitse}, Booktitle = {Language Descriptions, Tools and Applications (LDTA)}, Date-Added = {2010-04-26 16:14:12 +0200}, Date-Modified = {2010-04-26 16:14:12 +0200}, Eprint = {papers/fokker08abs-int-ag.pdf}, Title = {{Abstract Interpretation of Functional Programs using an Attribute Grammar System}}, Year = {2008}} @misc{dijkstra08effic-funct-subst-tr, Author = {Dijkstra, Atze and Middelkoop, Arie and Swierstra, S. Doaitse}, Booktitle = {Implementation of Functional Languages}, Date-Added = {2010-04-26 16:14:04 +0200}, Date-Modified = {2010-04-26 16:14:04 +0200}, Eprint = {papers/dijkstra08effic-funct-subst-tr.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2008-027.html|}, Title = {{Efficient Functional Unification and Substitution}}, Url = {http://www.cs.uu.nl/research/techreps/UU-CS-2008-027.html}, Year = {2008}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/UU-CS-2008-027.html}} @misc{www09uhc, Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse}, Date-Added = {2010-04-26 16:13:43 +0200}, Date-Modified = {2010-04-26 16:13:43 +0200}, Eprint = {papers/www09uhc.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/wiki/UHC|}, Title = {{UHC Utrecht Haskell Compiler}}, Url = {http://www.cs.uu.nl/wiki/UHC}, Year = {2009}, Bdsk-Url-1 = {http://www.cs.uu.nl/wiki/UHC}} @inproceedings{ferreiro09exp-safe-haskell, Author = {Ferreiro, Henrique and Castro, David and Gulias, Victor M. and Dijkstra, Atze}, Booktitle = {Taller de Programacion Funcional TPF, PROLE 2009}, Date-Added = {2010-04-26 16:13:14 +0200}, Date-Modified = {2010-04-26 16:13:14 +0200}, Eprint = {papers/ferreiro09exp-safe-haskell.pdf}, Howpublished = {\verb|http://www.mondragon.edu/prole2009/contribucionesaceptadasprole.shtml|}, Title = {{Experiences in developing a compiler for Safe using Haskell }}, Url = {http://www.mondragon.edu/prole2009/contribucionesaceptadasprole.shtml}, Year = {2009}, Bdsk-Url-1 = {http://www.mondragon.edu/prole2009/contribucionesaceptadasprole.shtml}} @inproceedings{1706346, Address = {New York, NY, USA}, Author = {Dias, Jo\, {a}o and Ramsey, Norman}, Booktitle = {POPL '10: Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Date-Added = {2010-04-16 15:26:48 +0200}, Date-Modified = {2010-04-16 15:26:48 +0200}, Doi = {http://doi.acm.org/10.1145/1706299.1706346}, Isbn = {978-1-60558-479-9}, Location = {Madrid, Spain}, Pages = {403--416}, Publisher = {ACM}, Title = {Automatically generating instruction selectors using declarative machine descriptions}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wNDAzLWRpYXMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Zx+4yXAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx+4WPAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNDAzLWRpYXMucGRmAAAOABwADQBwADQAMAAzAC0AZABpAGEAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wNDAzLWRpYXMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3A0MDMtZGlhcy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1706299.1706346}, Bdsk-Url-2 = {http://portal.acm.org/ft_gateway.cfm?id=1706346&type=pdf&coll=ACM&dl=ACM&CFID=86420888&CFTOKEN=82944246}} @inproceedings{1706347, Address = {New York, NY, USA}, Author = {Jim, Trevor and Mandelbaum, Yitzhak and Walker, David}, Booktitle = {POPL '10: Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Date-Added = {2010-04-16 15:24:04 +0200}, Date-Modified = {2010-04-16 15:24:04 +0200}, Doi = {http://doi.acm.org/10.1145/1706299.1706347}, Isbn = {978-1-60558-479-9}, Location = {Madrid, Spain}, Pages = {417--430}, Publisher = {ACM}, Title = {Semantics and algorithms for data-dependent grammars}, Year = {2010}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYQAAAAAAYQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAxwNDE3LWppbS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+ax+4xAwAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx+4U4wAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA4TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNDE3LWppbS5wZGYADgAaAAwAcAA0ADEANwAtAGoAaQBtAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgArVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A0MTctamltLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QMi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvcDQxNy1qaW0ucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAigCKgIvAjgCQwJHAlUCXAJlApoCnwKiAq8CtAAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALG}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1706299.1706347}} @inproceedings{155105, Address = {New York, NY, USA}, Author = {Weise, Daniel and Crew, Roger}, Booktitle = {PLDI '93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation}, Date-Added = {2010-04-01 14:24:29 +0200}, Date-Modified = {2010-04-01 14:24:29 +0200}, Doi = {http://doi.acm.org/10.1145/155090.155105}, Isbn = {0-89791-598-4}, Location = {Albuquerque, New Mexico, United States}, Pages = {156--165}, Publisher = {ACM}, Title = {Programmable syntax macros}, Year = {1993}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAbQAAAAAAbQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBhTeW50YXhtYWNyb3NQcm9ncmFtbWFibGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ99tgikzlBERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAtgiIrgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBETWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpTeW50YXhtYWNyb3NQcm9ncmFtbWFibGUADgAyABgAUwB5AG4AdABhAHgAbQBhAGMAcgBvAHMAUAByAG8AZwByAGEAbQBtAGEAYgBsAGUADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA3VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1N5bnRheG1hY3Jvc1Byb2dyYW1tYWJsZQAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QPi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvU3ludGF4bWFjcm9zUHJvZ3JhbW1hYmxl0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAlgCWgJfAmgCcwJ3AoUCjAKVAtYC2wLeAusC8AAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAMC}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/155090.155105}} @article{incrementalmernik, Author = {Mernik, Marjan and \v{Z}umer, Viljem}, Date-Added = {2010-03-31 23:00:47 +0200}, Date-Modified = {2010-03-31 23:24:42 +0200}, Journal = {Computer languages, Systems and Structures}, Keywords = {Attribute grammars; Compiler--compilers; Modular; Reusable and extensible language definition}, Pages = {1-16}, Title = {Incremental programming language development}, Volume = {31}, Year = {2005}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAcAAAAAAAcAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBtpbmNybGFuZ3VhZ2VkZXZlbG9wbWVudC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Jx5tGowAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx5s4kwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBHTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczppbmNybGFuZ3VhZ2VkZXZlbG9wbWVudC5wZGYAAA4AOAAbAGkAbgBjAHIAbABhAG4AZwB1AGEAZwBlAGQAZQB2AGUAbABvAHAAbQBlAG4AdAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAOlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9pbmNybGFuZ3VhZ2VkZXZlbG9wbWVudC5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QQS4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvaW5jcmxhbmd1YWdlZGV2ZWxvcG1lbnQucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAmQCZgJrAnQCfwKDApECmAKhAuUC6gLtAvoC/wAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAMR}} @article{CambridgeJournals:173382, Author = {HINZE, RALF}, Date-Added = {2010-03-29 22:00:32 +0200}, Date-Modified = {2010-03-29 22:00:32 +0200}, Doi = {10.1017/S0956796802004367}, Eprint = {http://journals.cambridge.org/article_S0956796802004367}, Journal = {Journal of Functional Programming}, Number = {05}, Pages = {935-944}, Title = {Formatting: a class act}, Url = {http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=173382&fulltextType=RL&fileId=S0956796802004367}, Volume = {13}, Year = {2003}, Abstract = { ABSTRACT When I was a student, Simula was one of the languages taught in introductory programming language courses and I vividly remember a sticker one of our instructors had attached to the door of his office, saying “Simula does it with class”. I guess the same holds for Haskell except that Haskell replaces classes by type classes. }, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAawAAAAAAawAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBZTMDk1Njc5NjgwMjAwNDM2N2EucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ95x9bSWQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx9a2OQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBCTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpTMDk1Njc5NjgwMjAwNDM2N2EucGRmAA4ALgAWAFMAMAA5ADUANgA3ADkANgA4ADAAMgAwADAANAAzADYANwBhAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA1VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1MwOTU2Nzk2ODAyMDA0MzY3YS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDwuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL1MwOTU2Nzk2ODAyMDA0MzY3YS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACUAJSAlcCYAJrAm8CfQKEAo0CzALRAtQC4QLmAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAvg=}, Bdsk-Url-1 = {http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=173382&fulltextType=RL&fileId=S0956796802004367}, Bdsk-Url-2 = {http://dx.doi.org/10.1017/S0956796802004367}} @techreport{cardellisyntaxmacros, Author = {Cardelli, Luca and Matthes, Flrian and Abad{\'\i}, Mart{\'\i}n}, Date-Added = {2010-03-26 16:29:03 +0100}, Date-Modified = {2010-03-26 16:31:51 +0100}, Institution = {SRC Research Report}, Number = {121}, Title = {Extensible Syntax with Lexical Scoping}, Url = {http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-121.pdf}, Year = {1994}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5TUkMtUlItMTIxLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ96x9KSZQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx9KEVQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpTUkMtUlItMTIxLnBkZgAOAB4ADgBTAFIAQwAtAFIAUgAtADEAMgAxAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1NSQy1SUi0xMjEucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9TUkMtUlItMTIxLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}} @inproceedings{1218573, Address = {New York, NY, USA}, Author = {Eisenberg, Andrew D. and Kiczales, Gregor}, Booktitle = {AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software development}, Date-Added = {2010-03-11 17:15:11 +0100}, Date-Modified = {2010-03-11 17:15:11 +0100}, Doi = {http://doi.acm.org/10.1145/1218563.1218573}, Isbn = {1-59593-615-7}, Location = {Vancouver, British Columbia, Canada}, Pages = {73--84}, Publisher = {ACM}, Title = {Expressive programs through presentation extension}, Year = {2007}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZgAAAAAAZgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBFwNzMtZWlzZW5iZXJnLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+cx77VpwAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx77HlwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA9TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNzMtZWlzZW5iZXJnLnBkZgAADgAkABEAcAA3ADMALQBlAGkAcwBlAG4AYgBlAHIAZwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAMFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wNzMtZWlzZW5iZXJnLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA3Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wNzMtZWlzZW5iZXJnLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAI8Aj4CQwJMAlcCWwJpAnACeQKzArgCuwLIAs0AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC3w==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1218563.1218573}} @article{365879, Address = {New York, NY, USA}, Author = {Leavenworth, B. M.}, Date-Added = {2010-03-11 16:45:29 +0100}, Date-Modified = {2010-03-11 16:45:29 +0100}, Doi = {http://doi.acm.org/10.1145/365876.365879}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {11}, Pages = {790--793}, Publisher = {ACM}, Title = {Syntax macros and extended translation}, Volume = {9}, Year = {1966}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaQAAAAAAaQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBRwNzkwLWxlYXZlbndvcnRoLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+dx77OfAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx77AbAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBATWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNzkwLWxlYXZlbndvcnRoLnBkZgAOACoAFABwADcAOQAwAC0AbABlAGEAdgBlAG4AdwBvAHIAdABoAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAzVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3A3OTAtbGVhdmVud29ydGgucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA6Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wNzkwLWxlYXZlbndvcnRoLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJIAkoCTwJYAmMCZwJ1AnwChQLCAscCygLXAtwAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC7g==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/365876.365879}} @inproceedings{Plasmeijer:2009fk, Author = {Plasmeijer, Rinus and Achten, Peter and Koopman, Pieter and Lijnse, Bas and van Noort, Thomas}, Booktitle = {6th International School, AFP 2008, Heijen, The Netherlands, May 19-24, 2008, Revised Lectures}, Date = {2009///}, Date-Added = {2010-03-08 15:31:35 +0100}, Date-Modified = {2010-03-08 15:34:53 +0100}, Editor = {Koopman, Pieter and Plasmeijer, Rinus and Swierstra, Doaitse}, M3 = {10.1007/978-3-642-04652-0{\_}7}, Pages = {306--329}, Publisher = {Springer}, Series = {LNCS-Tutorial}, Title = {An iTask Case Study: A Conference Management System}, Ty = {CHAPTER}, Url = {http://dx.doi.org/10.1007/978-3-642-04652-0_7}, Volume = {5832}, Year = {2009}, Abstract = {Workflow systems are automated systems in which tasks are coordinated by assigning them to either humans or computers. Contemporary workflow systems are static and not very flexible. In these lecture notes, we discuss the iTask system: a combinator library for specifying workflows in the functional language Clean. This system offers several advantages when compared to commercial systems: tasks are statically typed, tasks can be higher order, the combinators are fully compositional, and dynamic and recursive workflow can be specified. Moreover, the specification is an executable specification offering a web-based multi-user workflow system. In this paper we describe the iTask system using a conference management system as the running example to illustrate the expressive power of functional and generic programming in a real-world domain. }, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYQAAAAAAYQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAxmdWxsdGV4dC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Hx7rGUgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx7q4QgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA4TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpmdWxsdGV4dC5wZGYADgAaAAwAZgB1AGwAbAB0AGUAeAB0AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgArVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2Z1bGx0ZXh0LnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QMi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvZnVsbHRleHQucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAigCKgIvAjgCQwJHAlUCXAJlApoCnwKiAq8CtAAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALG}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-04652-0_7}, Bdsk-Url-2 = {http://www.springerlink.com/content/r71605578u0700gq/fulltext.pdf}} @inproceedings{HeerenHageSwierstra03, Booktitle = {Workshop Immediate Applications of Constraint Programming}, Date-Added = {2010-02-19 15:55:02 +0100}, Date-Modified = {2010-02-19 15:59:04 +0100}, Editor = {Silaghi, M.-C. and Zanker, M.}, Title = {Constraint based type inferencing in Helium}, Year = {2003}} @article{590539, Address = {Hingham, MA, USA}, Author = {Coup\'{e}, Veerle M. H. and van der Gaag, Linda C.}, Date-Added = {2010-02-15 22:59:49 +0100}, Date-Modified = {2010-02-15 22:59:49 +0100}, Doi = {http://dx.doi.org/10.1023/A:1016398407857}, Issn = {1012-2443}, Journal = {Annals of Mathematics and Artificial Intelligence}, Number = {4}, Pages = {323--356}, Publisher = {Kluwer Academic Publishers}, Title = {Properties of Sensitivity Analysis of Bayesian Belief Networks}, Volume = {36}, Year = {2002}, Bdsk-Url-1 = {http://dx.doi.org/10.1023/A:1016398407857}} @article{1414326, Address = {New York, NY, USA}, Author = {Renooij, Silja and van der Gaag, Linda C.}, Date-Added = {2010-02-15 22:59:11 +0100}, Date-Modified = {2010-02-15 22:59:11 +0100}, Doi = {http://dx.doi.org/10.1016/j.ijar.2008.02.008}, Issn = {0888-613X}, Journal = {Int. J. Approx. Reasoning}, Number = {2}, Pages = {398--416}, Publisher = {Elsevier Science Inc.}, Title = {Evidence and scenario sensitivities in naive Bayesian classifiers}, Volume = {49}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.ijar.2008.02.008}} @inproceedings{1575970, Address = {Berlin, Heidelberg}, Author = {Erwig, Martin and Walkingshaw, Eric}, Booktitle = {DSL '09: Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages}, Date-Added = {2010-02-15 22:53:11 +0100}, Date-Modified = {2010-02-15 22:53:11 +0100}, Doi = {http://dx.doi.org/10.1007/978-3-642-03034-5_16}, Isbn = {978-3-642-03033-8}, Location = {Oxford, UK}, Pages = {335--359}, Publisher = {Springer-Verlag}, Title = {A DSL for Explaining Probabilistic Reasoning}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03034-5_16}} @inproceedings{1575971, Address = {Berlin, Heidelberg}, Author = {Kiselyov, Oleg and Shan, Chung-Chieh}, Booktitle = {DSL '09: Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages}, Date-Added = {2010-02-15 22:52:02 +0100}, Date-Modified = {2010-02-15 22:52:02 +0100}, Doi = {http://dx.doi.org/10.1007/978-3-642-03034-5_17}, Isbn = {978-3-642-03033-8}, Location = {Oxford, UK}, Pages = {360--384}, Publisher = {Springer-Verlag}, Title = {Embedded Probabilistic Programming}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03034-5_17}} @article{1294759, Address = {New York, NY, USA}, Author = {HELSPER, EVELINE M. and VAN DER GAAG, LINDA C.}, Date-Added = {2010-02-15 22:49:34 +0100}, Date-Modified = {2010-02-15 22:49:34 +0100}, Doi = {http://dx.doi.org/10.1017/S0269888907001038}, Issn = {0269-8889}, Journal = {Knowl. Eng. Rev.}, Number = {1}, Pages = {67--86}, Publisher = {Cambridge University Press}, Title = {Ontologies for probabilistic networks: a case study in the oesophageal-cancer domain}, Volume = {22}, Year = {2007}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0269888907001038}} @article{975727, Address = {New York, NY, USA}, Author = {Neil, Martin and Fenton, Norman and Nielson, Lars}, Date-Added = {2010-02-15 22:46:16 +0100}, Date-Modified = {2010-02-15 22:46:16 +0100}, Doi = {http://dx.doi.org/10.1017/S0269888900003039}, Issn = {0269-8889}, Journal = {Knowl. Eng. Rev.}, Number = {3}, Pages = {257--284}, Publisher = {Cambridge University Press}, Title = {Building large-scale Bayesian networks}, Volume = {15}, Year = {2000}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0269888900003039}} @book{hudak:book, Author = {Hudak, Paul}, Date-Added = {2010-02-15 22:43:21 +0100}, Date-Modified = {2010-02-15 22:44:38 +0100}, Isbn = {ISBN 0-521-64408-9}, Publisher = {Cambridge University Press}, Title = {The Haskell School of Expression: Learning Functional Programming Through Multimedia}, Year = {2000}} @inproceedings{1481862, Address = {New York, NY, USA}, Author = {Norell, Ulf}, Booktitle = {TLDI '09: Proceedings of the 4th international workshop on Types in language design and implementation}, Date-Added = {2010-02-15 16:46:40 +0100}, Date-Modified = {2010-02-15 16:46:40 +0100}, Doi = {http://doi.acm.org/10.1145/1481861.1481862}, Isbn = {978-1-60558-420-1}, Location = {Savannah, GA, USA}, Pages = {1--2}, Publisher = {ACM}, Title = {Dependently typed programming in Agda}, Year = {2009}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1481861.1481862}} @inproceedings{1614480, Address = {Berlin, Heidelberg}, Author = {Bove, Ana and Dybjer, Peter}, Booktitle = {Language Engineering and Rigorous Software Development: International LerNet ALFA Summer School 2008, Piriapolis, Uruguay, February 24 - March 1, 2008, Revised Tutorial Lectures}, Date-Added = {2010-02-15 16:44:51 +0100}, Date-Modified = {2010-02-15 22:55:10 +0100}, Doi = {http://dx.doi.org/10.1007/978-3-642-03153-3_2}, Isbn = {978-3-642-03152-6}, Pages = {57--99}, Publisher = {Springer-Verlag}, Title = {Dependent Types at Work}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-642-03153-3_2}} @proceedings{AFP:2008, Date-Added = {2010-02-15 14:45:03 +0100}, Date-Modified = {2010-02-15 14:55:13 +0100}, Editor = {Koopman, Pieter and Plasmeijer, Rinus and Swierstra, Doaitse}, Publisher = {Springer}, Series = {LNCS-Tutorial}, Title = {Advanced Functional Programming, 6$^{th}$ International School}, Volume = {5832}, Year = {2009}} @inproceedings{Middelkoo:2010fk, Author = {Middelkoop, Arie and Dijkstra, Atze and Swierstra, Doaitse}, Booktitle = {Workshop On Generative Technologies 2010}, Date-Added = {2010-02-14 22:06:12 +0100}, Date-Modified = {2010-02-15 23:15:49 +0100}, Month = {March}, Place = {Paphos, Cyprus}, Title = {Visit Functions for the Semantics of Programming Languages}, Year = {2010}} @inproceedings{1411255, Address = {New York, NY, USA}, Author = {Dolstra, Eelco and L{\"{o}}h, Andres}, Booktitle = {ICFP '08: Proceeding of the 13th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2010-02-12 16:36:55 +0100}, Date-Modified = {2010-02-12 16:36:55 +0100}, Doi = {http://doi.acm.org/10.1145/1411204.1411255}, Isbn = {978-1-59593-919-7}, Location = {Victoria, BC, Canada}, Pages = {367--378}, Publisher = {ACM}, Title = {NixOS: a purely functional Linux distribution}, Year = {2008}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1411204.1411255}} @phdthesis{dijkstra05phd, Author = {Dijkstra, Atze}, Date-Added = {2010-02-12 16:32:23 +0100}, Date-Modified = {2010-02-12 16:40:03 +0100}, Eprint = {papers/dijkstra05phd.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/groups/ST/Ehc/WebHome|}, School = {Utrecht University, Department of Information and Computing Sciences}, Title = {{Stepping through Haskell}}, Tutor = {S.Doaitse Swierstra}, Year = {2005}} @proceedings{AFP2008, Date-Added = {2010-01-12 17:40:02 +0100}, Date-Modified = {2010-01-12 17:43:58 +0100}, Editor = {Koopman, Pieter and Plasmeijer, Rinus and Swierstra, Doaitse}, Publisher = {Springer Verlag}, Series = {LNCS-Tutorial}, Title = {Advanced Functional Programming; 6th International School, AFP 2008, Revised lectures}, Volume = {5832}, Year = {2009}} @article{1628379, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Fokker, Jeroen and Swierstra, S. Doaitse}, Date-Added = {2010-01-12 17:31:38 +0100}, Date-Modified = {2010-01-12 17:31:38 +0100}, Doi = {http://dx.doi.org/10.1016/j.entcs.2009.09.044}, Issn = {1571-0661}, Journal = {Electron. Notes Theor. Comput. Sci.}, Number = {5}, Pages = {117--133}, Publisher = {Elsevier Science Publishers B. V.}, Title = {Abstract Interpretation of Functional Programs using an Attribute Grammar System}, Volume = {238}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2009.09.044}} @inproceedings{BaSwVi2009, Author = {Baars, Arthur I. and Swierstra, S. Doaitse and Viera, Marcos}, Booktitle = {PreProceedings of the 9th Workshop on Language Desriptions Tools and Applications}, Date-Added = {2010-01-12 17:22:47 +0100}, Date-Modified = {2010-02-15 22:54:36 +0100}, Editor = {Vinju, Jurge and Eckman, Torbj{\"o}rn}, Pages = {8-33}, Title = {Typed transformations of typed grammars: The left corner transform}, Url = {http://ldta.info/2009/index.html}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAbAAAAAAAbAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBdsZHRhMjAwOXByb2NlZWRpbmdzLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Lx3JnaAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx3JZWAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBDTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpsZHRhMjAwOXByb2NlZWRpbmdzLnBkZgAADgAwABcAbABkAHQAYQAyADAAMAA5AHAAcgBvAGMAZQBlAGQAaQBuAGcAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIANlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9sZHRhMjAwOXByb2NlZWRpbmdzLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA9Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9sZHRhMjAwOXByb2NlZWRpbmdzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJUAlYCWwJkAm8CcwKBAogCkQLRAtYC2QLmAusAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC/Q==}} @inproceedings{IntMap98, Author = {Okasaki, Chris and Gill, Andy}, Booktitle = {ACM SIGPLAN Workshop on ML}, Date-Added = {2009-12-05 13:31:38 +0100}, Date-Modified = {2009-12-05 13:31:38 +0100}, Month = {September}, Pages = {77--86}, Title = {Fast mergeable integer maps}, Year = {1998}, Abstract = {Finite maps are ubiquitous in many applications, but perhaps nowhere more so than in compilers and other language processors. In these applications, three operations on finite maps dominate all others: looking up the value associated with a key, inserting a new binding, and merging two finite maps. Most implementations of finite maps in functional languages are based on balanced binary search trees, which perform well on the first two, but poorly on the third. We describe an implementation of finite maps with integer keys that performs well in practice on all three operations. This data structure is not new-indeed, it is thirty years old this year-but it deserves to be more widely known.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYQAAAAAAYQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAxJbnRNYXA5OC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9ux0ARHgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAx0ADDgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA4TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpJbnRNYXA5OC5wZGYADgAaAAwASQBuAHQATQBhAHAAOQA4AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgArVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0ludE1hcDk4LnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QMi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvSW50TWFwOTgucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAigCKgIvAjgCQwJHAlUCXAJlApoCnwKiAq8CtAAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALG}} @techreport{UUCS2009029, Author = {Swierstra, S.~Doaitse}, Date-Added = {2009-12-03 15:14:41 +0100}, Date-Modified = {2009-12-03 15:15:04 +0100}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-2009-029}, Pubcat = {techreport}, Title = {Construct Your Own Favorite Programming Language}, Urlpdf = {{http://www.cs.uu.nl/research/techreps/repo/CS-2009/2009-029.pdf}}, Year = 2009} @inproceedings{1291189, Address = {New York, NY, USA}, Author = {Hage, Jurriaan and Holdermans, Stefan and Middelkoop, Arie}, Booktitle = {ICFP '07: Proceedings of the 12th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2009-10-30 22:23:55 +0100}, Date-Modified = {2009-10-30 22:23:55 +0100}, Doi = {http://doi.acm.org/10.1145/1291151.1291189}, Isbn = {978-1-59593-815-2}, Location = {Freiburg, Germany}, Pages = {235--246}, Publisher = {ACM}, Title = {A generic usage analysis with subeffect qualifiers}, Year = {2007}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1291151.1291189}} @inproceedings{1328436, Address = {New York, NY, USA}, Author = {Hage, Jurriaan and Holdermans, Stefan}, Booktitle = {PEPM '08: Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation}, Date-Added = {2009-10-30 22:22:44 +0100}, Date-Modified = {2009-10-30 22:22:44 +0100}, Doi = {http://doi.acm.org/10.1145/1328408.1328436}, Isbn = {978-1-59593-977-7}, Location = {San Francisco, California, USA}, Pages = {189--197}, Publisher = {ACM}, Title = {Heap recycling for lazy languages}, Year = {2008}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1328408.1328436}} @article{1114674, Address = {New York, NY, USA}, Author = {Hinze, Ralf and Paterson, Ross}, Date-Added = {2009-10-29 10:43:46 +0100}, Date-Modified = {2009-10-29 10:43:46 +0100}, Doi = {http://dx.doi.org/10.1017/S0956796805005769}, Issn = {0956-7968}, Journal = {J. Funct. Program.}, Number = {2}, Pages = {197--217}, Publisher = {Cambridge University Press}, Title = {Finger trees: a simple general-purpose data structure}, Volume = {16}, Year = {2006}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796805005769}} @article{1537539, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Hinze, Ralf and L{\"{o}}h, Andres}, Date-Added = {2009-10-29 10:41:35 +0100}, Date-Modified = {2009-10-29 10:41:35 +0100}, Doi = {http://dx.doi.org/10.1016/j.scico.2007.10.006}, Issn = {0167-6423}, Journal = {Sci. Comput. Program.}, Number = {8}, Pages = {590--628}, Publisher = {Elsevier North-Holland, Inc.}, Title = {Generic programming in 3D}, Volume = {74}, Year = {2009}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.scico.2007.10.006}} @article{985919, Address = {New York, NY, USA}, Author = {Voigtl{\"{a}}nder, Janis and K{\"{u}}hnemann, Armin}, Date-Added = {2009-10-29 10:16:45 +0100}, Date-Modified = {2010-11-17 14:55:47 +0100}, Doi = {http://dx.doi.org/10.1017/S0956796803004933}, Issn = {0956-7968}, Journal = {J. Funct. Program.}, Number = {3}, Pages = {317--363}, Publisher = {Cambridge University Press}, Title = {Composition of functions with accumulating parameters}, Volume = {14}, Year = {2004}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796803004933}} @article{321996, Address = {New York, NY, USA}, Author = {Burstall, R. M. and Darlington, John}, Date-Added = {2009-10-29 10:14:55 +0100}, Date-Modified = {2009-10-29 10:14:55 +0100}, Doi = {http://doi.acm.org/10.1145/321992.321996}, Issn = {0004-5411}, Journal = {J. ACM}, Number = {1}, Pages = {44--67}, Publisher = {ACM}, Title = {A Transformation System for Developing Recursive Programs}, Volume = {24}, Year = {1977}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/321992.321996}} @article{WorkerWrapper08, Author = {Gill, Andy and Hutton, Graham}, Date-Added = {2009-10-29 10:12:22 +0100}, Date-Modified = {2009-10-29 10:12:22 +0100}, Journal = {Journal of Functional Programming}, Month = {March}, Number = {2}, Pages = {227--251}, Publisher = {Cambridge University Press}, Title = {The worker/wrapper transformation}, Volume = {19}, Year = {2009}, Abstract = {The worker/wrapper transformation is a technique for changing the type of a computation, usually with the aim of improving its performance. It has been used by compiler writers for many years, but the technique is little-known in the wider functional programming community, and has never been described precisely. In this article we explain, formalise, and explore the generality of the worker/wrapper transformation. We also provide a systematic recipe for its use as an equational reasoning technique for improving the performance of programs, and illustrate the power of this recipe using a range of examples.}} @article{227716, Address = {New York, NY, USA}, Author = {Sands, David}, Date-Added = {2009-10-29 10:09:24 +0100}, Date-Modified = {2009-10-29 10:09:24 +0100}, Doi = {http://doi.acm.org/10.1145/227699.227716}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Number = {2}, Pages = {175--234}, Publisher = {ACM}, Title = {Total correctness by local improvement in the transformation of functional programs}, Volume = {18}, Year = {1996}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/227699.227716}} @article{214960, Address = {New York, NY, USA}, Author = {Cohen, Jacques}, Date-Added = {2009-10-20 22:15:42 +0200}, Date-Modified = {2009-10-20 22:15:42 +0200}, Doi = {http://doi.acm.org/10.1145/214956.214960}, Issn = {0001-0782}, Journal = {Commun. ACM}, Number = {12}, Pages = {1311--1324}, Publisher = {ACM}, Title = {Describing Prolog by its interpretation and compilation}, Volume = {28}, Year = {1985}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/214956.214960}} @article{1411219, Address = {New York, NY, USA}, Author = {Jones, Mark P.}, Date-Added = {2009-10-15 14:42:07 +0200}, Date-Modified = {2009-10-15 14:42:07 +0200}, Doi = {http://doi.acm.org/10.1145/1411203.1411219}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {9}, Pages = {87--90}, Publisher = {ACM}, Title = {Experience report: playing the DSL card}, Volume = {43}, Year = {2008}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wODctam9uZXMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+exvzlaAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxvzJSAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwODctam9uZXMucGRmAAAOABwADQBwADgANwAtAGoAbwBuAGUAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wODctam9uZXMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3A4Ny1qb25lcy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1411203.1411219}} @techreport{890794, Author = {Andrew P., Black and Magnus, Carlsson and Mark P., Jones and Richard, Kieburtz and Johan, Nordlander}, Date-Added = {2009-10-15 14:40:42 +0200}, Date-Modified = {2009-10-15 14:40:42 +0200}, Publisher = {Oregon Graduate Institute School of Science \&\& Engineering}, Source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Aogi_cse%3Ancstrl.ogi_cse%2F%2FCSE-02-002}, Title = {Timber: A Programming Language for Real-Time Embedded Systems}, Year = {2002}} @inproceedings{1596586, Address = {New York, NY, USA}, Author = {Viera, Marcos and Swierstra, S. Doaitse and Swierstra, Wouter}, Booktitle = {ICFP '09: Proceedings of the 14th ACM SIGPLAN international conference on Functional programming}, Date-Added = {2009-10-05 22:06:26 +0200}, Date-Modified = {2009-10-05 22:06:26 +0200}, Doi = {http://doi.acm.org/10.1145/1596550.1596586}, Isbn = {978-1-60558-332-7}, Location = {Edinburgh, Scotland}, Pages = {245--256}, Publisher = {ACM}, Title = {Attribute grammars fly first-class: how to do aspect oriented programming in Haskell}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wMjQ1LXZpZXJhLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+RxyohPgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxyoTLgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjQ1LXZpZXJhLnBkZgAOAB4ADgBwADIANAA1AC0AdgBpAGUAcgBhAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AyNDUtdmllcmEucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wMjQ1LXZpZXJhLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596550.1596586}} @inproceedings{meijerjeuring95, Author = {Meijer, E. and Jeuring, J.}, Booktitle = {Advanced Functional Programming}, Date-Added = {2009-10-05 21:56:29 +0200}, Date-Modified = {2009-10-05 21:56:29 +0200}, Editor = {Jeuring, J. and Meijer, E.}, Pages = {228--266}, Publisher = {Springer-Verlag}, Series = {Lecture {N}otes in {C}omputer {S}cience 925}, Title = {Merging monads and folds for functional programming}, Year = {1995}} @inproceedings{1596650, Address = {New York, NY, USA}, Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse}, Booktitle = {Haskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell}, Date-Added = {2009-10-05 21:45:05 +0200}, Date-Modified = {2010-02-15 23:14:46 +0100}, Doi = {http://doi.acm.org/10.1145/1596638.1596650}, Isbn = {978-1-60558-508-6}, Location = {Edinburgh, Scotland}, Pages = {93--104}, Publisher = {ACM}, Title = {The architecture of the {U}trecht {H}askell compiler}, Year = {2009}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596638.1596650}} @techreport{UUCS199928, Author = {Meijer, H.~J.~M.}, Date-Added = {2009-10-05 11:09:19 +0200}, Date-Modified = {2009-10-05 11:09:19 +0200}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-1999-28}, Pubcat = {techreport}, Title = {Proceedings of the 1999 Haskell Workshop}, Urlpdf = {{http://www.cs.uu.nl/research/techreps/repo/CS-1999/1999-28.pdf}}, Urlps = {{http://www.cs.uu.nl/research/techreps/repo/CS-1999/1999-28.ps.gz}}, Year = 1999, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYAAAAAAAYAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAsxOTk5LTI4LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9jxu+EcQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxu9oUQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA3TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczoxOTk5LTI4LnBkZgAADgAYAAsAMQA5ADkAOQAtADIAOAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAKlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy8xOTk5LTI4LnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAxLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy8xOTk5LTI4LnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIkAiYCKwI0Aj8CQwJRAlgCYQKVApoCnQKqAq8AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAACwQ==}} @inproceedings{1017481, Address = {New York, NY, USA}, Author = {Kiselyov, Oleg and Shan, Chung-chieh}, Booktitle = {Haskell '04: Proceedings of the 2004 ACM SIGPLAN workshop on Haskell}, Date-Added = {2009-10-05 09:52:00 +0200}, Date-Modified = {2009-10-05 09:52:00 +0200}, Doi = {http://doi.acm.org/10.1145/1017472.1017481}, Isbn = {1-58113-850-4}, Location = {Snowbird, Utah, USA}, Pages = {33--44}, Publisher = {ACM}, Title = {Functional pearl: implicit configurations--or, type classes reflect the values of types}, Year = {2004}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZQAAAAAAZQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBBwMzMta2lzZWx5b3YucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Vxu9yYAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxu9WQAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA8TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMzMta2lzZWx5b3YucGRmAA4AIgAQAHAAMwAzAC0AawBpAHMAZQBsAHkAbwB2AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAvVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AzMy1raXNlbHlvdi5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDYuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AzMy1raXNlbHlvdi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACOAI6Aj8CSAJTAlcCZQJsAnUCrgKzArYCwwLIAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAto=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1017472.1017481}, Bdsk-Url-2 = {http://portal.acm.org/ft_gateway.cfm?id=1017481&type=pdf&coll=ACM&dl=ACM&CFID=54939668&CFTOKEN=14351363}} @inproceedings{1596644, Address = {New York, NY, USA}, Author = {Atkey, Robert and Lindley, Sam and Yallop, Jeremy}, Booktitle = {Haskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell}, Date-Added = {2009-10-05 09:48:12 +0200}, Date-Modified = {2009-10-05 09:48:12 +0200}, Doi = {http://doi.acm.org/10.1145/1596638.1596644}, Isbn = {978-1-60558-508-6}, Location = {Edinburgh, Scotland}, Pages = {37--48}, Publisher = {ACM}, Title = {Unembedding domain-specific languages}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMzctYXRrZXkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Xxu9xQgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxu9VIgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMzctYXRrZXkucGRmAAAOABwADQBwADMANwAtAGEAdABrAGUAeQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMzctYXRrZXkucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AzNy1hdGtleS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1596638.1596644}} @inproceedings{1411296, Address = {New York, NY, USA}, Author = {Viera, Marcos and Swierstra, S. Doaitse and Lempsink, Eelco}, Booktitle = {Haskell Symposium}, Date-Added = {2009-06-06 22:24:07 +0200}, Date-Modified = {2009-06-06 22:24:07 +0200}, Doi = {http://doi.acm.org/10.1145/1411286.1411296}, Isbn = {978-1-60558-064-7}, Location = {Victoria, BC, Canada}, Pages = {63--74}, Publisher = {ACM}, Read = {Yes}, Title = {Haskell, do you read me?: constructing and composing efficient top-down parsers at runtime}, Year = {2008}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wNjMtdmllcmEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+bxvpY2wAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxvo8uwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwNjMtdmllcmEucGRmAAAOABwADQBwADYAMwAtAHYAaQBlAHIAYQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wNjMtdmllcmEucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3A2My12aWVyYS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1411286.1411296}} @article{Schrage:jucs_14_21:beyond_ascii_parsing_programs, Author = {Schrage, M.M. and Swierstra, S.D.}, Date-Added = {2009-05-25 15:31:42 +0200}, Date-Modified = {2009-05-25 15:34:25 +0200}, Journal = {Journal of Universal Computer Science}, Number = {21}, Pages = {3414-3430}, Title = {Beyond ASCII - Parsing Programs with Graphical Presentations}, Url = {http://www.jucs.org/jucs_14_21/beyond_ascii_parsing_programs}, Volume = {14}, Year = {2008}, Abstract = {Proxima is a generic structure editor suitable for a wide range of structured document types. It allows edit operations on the document structure as well as on its screen representation (i.e. free-text editing), without the need to switch between the two modes. The system maintains a bidirectional mapping between the document structure and its presentation. Besides obvious applications, such as word-processor and spread-sheet editors, Proxima is especially well-suited for defining source editors for programming languages. Presentation-oriented edit operations require that an edited presentation can be parsed to yield an updated document structure. However, conventional parsing techniques cannot readily be applied, since presentations in Proxima are not restricted to text but may also contain graphical elements. For example, an exponential may be presented as 32. Although this graphical presentation may not be directly edited at the presentation level, its components may. Hence, instead of simply parsing the changed representation, we have to take into account the existing structure. This paper explains the scanning and parsing process for presentations that are a possibly nested combination of text and graphical elements. For textual parts of the presentation a Haskell combinator parser needs to be provided. The parser for graphical parts, on the other hand, is constructed by Proxima, based on information in the presentation. White space in the presentation can be handled automatically, if desired.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAdQAAAAAAdQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9qdWNzXzE0XzIxXzM0MTRfMzQzMF8jRDlGOEEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+KxkBp9wAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxkBN1wAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpqdWNzXzE0XzIxXzM0MTRfMzQzMF8jRDlGOEEucGRmAAAOAEIAIABqAHUAYwBzAF8AMQA0AF8AMgAxAF8AMwA0ADEANABfADMANAAzADAAXwBzAGMAaAByAGEAZwBlAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA/VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2p1Y3NfMTRfMjFfMzQxNF8zNDMwX3NjaHJhZ2UucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxBGLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9qdWNzXzE0XzIxXzM0MTRfMzQzMF9zY2hyYWdlLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJ4AnoCfwKIApMClwKlAqwCtQL+AwMDBgMTAxgAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADKg==}} @inproceedings{uuparsing:piriapolis, Author = {Swierstra, S.~Doaitse}, Booktitle = {Language Engineering and Rigorous Software Development}, Date-Added = {2009-05-23 11:08:01 +0200}, Date-Modified = {2009-05-31 22:35:25 +0200}, Editor = {Bove, A. and Barbosa, L. and Pardo, A. and and Sousa Pinto, J.}, Pages = {252-300}, Place = {Piriapolis}, Publisher = {Spinger}, Series = {{LNCS}}, Title = {Combinator Parsers: a short tutorial}, Volume = {5520}, Year = {2009}} @inproceedings{Avoid92, Author = {Launchbury, John and Gill, Andrew and Hughes, John and Marlow, Simon and Peyton~Jones, Simon and Wadler, Philip}, Booktitle = {Glasgow Workshop on Functional Programming, Workshops in Computing}, Cited = {23}, Date-Added = {2009-04-03 09:37:22 +0200}, Date-Modified = {2009-04-03 09:37:22 +0200}, Location = {Ayr, Scotland}, Pages = {144-153}, Publisher = {Springer-Verlag}, Title = {Avoiding Unnecessary Updates}, Year = {1992}, Abstract = {Graph reduction underlies most implementations of lazy functional languages, allowing separate computations to share results when sub-terms are evaluated. Once a term is evaluated, the node of the graph representing the computation is updated with the value of the term. However, in many cases, no other computation requires this value, so the update is unnecessary. In this paper we take some steps towards an analysis for determining when these updates may be omitted.}} @inproceedings{5289, Address = {New York, NY, USA}, Author = {Hughes, John}, Booktitle = {Proc. of a conference on Functional programming languages and computer architecture}, Date-Added = {2009-03-26 14:29:37 +0100}, Date-Modified = {2009-03-26 14:29:37 +0100}, Isbn = {3-387-15975-4}, Location = {Nancy, France}, Pages = {129--146}, Publisher = {Springer-Verlag New York, Inc.}, Title = {Lazy memo-functions}, Year = {1985}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAWwAAAAAAWwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAABjpl7QxEaWdpdGFsXy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGW6aBxfFB5gAAAAAAAAAAAAMAAgAACSAAAAAAAAAAAAAAAAAAAAAGLlRyYXNoABAACAAAwW8iwwAAABEACAAAxfEz1gAAAAEADAY6Ze0AEFZrAESQIgACAC5NYWNpbnRvc2ggSEQ6VXNlcnM6ZG9haXRzZTouVHJhc2g6RGlnaXRhbF8ucGRmAA4AGgAMAEQAaQBnAGkAdABhAGwAXwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAIVVzZXJzL2RvYWl0c2UvLlRyYXNoL0RpZ2l0YWxfLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QHC4uLy4uLy4uLy5UcmFzaC9EaWdpdGFsXy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACEAISAhcCIAIrAi8CPQJEAk0CbAJxAnQCgQKGAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAApg=}, Bdsk-File-2 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYQAAAAAAYQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAxEaWdpdGFsXy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9rxfFE2QAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxfE2yQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA4TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpEaWdpdGFsXy5wZGYADgAaAAwARABpAGcAaQB0AGEAbABfAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgArVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0RpZ2l0YWxfLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QMi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvRGlnaXRhbF8ucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAigCKgIvAjgCQwJHAlUCXAJlApoCnwKiAq8CtAAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALG}} @inproceedings{1481865, Address = {New York, NY, USA}, Author = {Baars, Arthur, I. and Swierstra, S., Doaitse and Viera, Marcos}, Booktitle = {TLDI '09: Proceedings of the 4th international workshop on Types in language design and implementation}, Date-Added = {2009-03-23 11:28:41 +0100}, Date-Modified = {2009-03-23 11:28:41 +0100}, Doi = {http://doi.acm.org/10.1145/1481861.1481865}, Isbn = {978-1-60558-420-1}, Location = {Savannah, GA, USA}, Pages = {15--26}, Publisher = {ACM}, Title = {Typed transformations of typed abstract syntax}, Year = {2009}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMTUtYmFhcnMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+OxkBsIQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxkBQAQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMTUtYmFhcnMucGRmAAAOABwADQBwADEANQAtAGIAYQBhAHIAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMTUtYmFhcnMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AxNS1iYWFycy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1481861.1481865}} @inproceedings{1238856, Address = {New York, NY, USA}, Author = {Hudak, Paul and Hughes, John and Jones, Simon, Peyton and Wadler, Philip}, Booktitle = {HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages}, Date-Added = {2009-03-19 16:56:14 +0100}, Date-Modified = {2009-03-19 16:56:14 +0100}, Doi = {http://doi.acm.org/10.1145/1238844.1238856}, Isbn = {978-1-59593-766-X}, Location = {San Diego, California}, Pages = {12-1--12-55}, Publisher = {ACM}, Title = {A history of Haskell: being lazy with class}, Year = {2007}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1hMTItaHVkYWsucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+ExegqDgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxegb/gAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczphMTItaHVkYWsucGRmAAAOABwADQBhADEAMgAtAGgAdQBkAGEAawAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9hMTItaHVkYWsucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2ExMi1odWRhay5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1238844.1238856}} @inproceedings{1086397, Address = {New York, NY, USA}, Author = {Chakravarty, Manuel, M. T. and Keller, Gabriele and Jones, Simon, Peyton}, Booktitle = {ICFP '05: Proceedings of the tenth ACM SIGPLAN international conference on Functional programming}, Date-Added = {2009-03-02 20:05:15 +0100}, Date-Modified = {2009-03-02 20:05:15 +0100}, Doi = {http://doi.acm.org/10.1145/1086365.1086397}, Isbn = {1-59593-064-7}, Location = {Tallinn, Estonia}, Pages = {241--253}, Publisher = {ACM}, Title = {Associated type synonyms}, Year = {2005}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1086365.1086397}} @article{276394, Address = {New York, NY, USA}, Author = {Reps, Thomas}, Date-Added = {2009-02-26 17:24:40 +0100}, Date-Modified = {2009-02-26 17:24:40 +0100}, Doi = {http://doi.acm.org/10.1145/276393.276394}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Number = {2}, Pages = {259--273}, Publisher = {ACM}, Title = {``Maximal-munch'' tokenization in linear time}, Volume = {20}, Year = {1998}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMjU5LXJlcHMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+SxcyAtQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxcxypQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMjU5LXJlcHMucGRmAAAOABwADQBwADIANQA5AC0AcgBlAHAAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMjU5LXJlcHMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AyNTktcmVwcy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/276393.276394}} @inproceedings{gcse99moor, Author = {De Moor, Oege and Peyton-Jones, Simon and Van Wyk, Eric}, Booktitle = {Generative and Component-Based Software Engineering}, Date-Added = {2009-02-25 22:25:44 +0100}, Date-Modified = {2009-02-25 22:26:26 +0100}, Editor = {Eisenecker, Ulrich and Czarnecki, Krzysztof}, Pages = {121-133}, Series = {Springer Lecture Notes in Computer Science}, Title = {Aspect-oriented Compilers}, Volume = {1799}, Year = {1999}, Abstract = {Lazy evaluation allows compiler writers to ignore a separation into passes, and to focus on the logical structure of their compiler instead. This is also a feature of attribute grammars, which can be viewed as a particular style of lazy functional program. Compilers written in attribute grammar style are typically structured by production --- it is hard to structure them by semantic aspect, such as `environment' and `lexical level', and it is certainly not possible to view these aspects as separate units of compilation. In this paper we propose a technique for making compiler `aspects' first-class objects, that can be stored, manipulated and combined. We propose a modest set of combinators that achieve this task in Haskell. The combinator library is an application of recent work on polymorphic type systems for record operations, in particular that of Gaster and Jones, and also of a technique due to Remy, which types symmetric record concatenation `for free'.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXwAAAAAAXwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIApnY3NlOTkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Ixct2dAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxctoZAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA2TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpnY3NlOTkucGRmAA4AFgAKAGcAYwBzAGUAOQA5AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgApVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDAuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACIAIiAicCMAI7Aj8CTQJUAl0CkAKVApgCpQKqAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAArw=}} @article{CambridgeJournals:2837460, Author = {Swierstra, S. Doaitse and Chitil, Olaf}, Date-Added = {2009-02-13 10:17:23 +0100}, Date-Modified = {2010-02-15 23:09:49 +0100}, Doi = {10.1017/S0956796808006990}, Eprint = {http://journals.cambridge.org/article_S0956796808006990}, Journal = {Journal of Functional Programming}, Number = {01}, Pages = {1-16}, Title = {Linear, bounded, functional pretty-printing}, Url = {http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=2837460&fulltextType=RC&fileId=S0956796808006990}, Volume = {19}, Year = {2009}, Abstract = { ABSTRACT We present two implementations of Oppen's pretty-printing algorithm in Haskell that meet the efficiency of Oppen's imperative solution but have a simpler and a clear structure. We start with an implementation that uses lazy evaluation to simulate two co-operating processes. Then we present an implementation that uses higher-order functions for delimited continuations to simulate co-routines with explicit scheduling. }, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAcQAAAAAAcQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBxTd2llcnN0cmFDaGl0aWxQcmV0dHlKRlAucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ98xbr2dQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxbroZQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBITWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpTd2llcnN0cmFDaGl0aWxQcmV0dHlKRlAucGRmAA4AOgAcAFMAdwBpAGUAcgBzAHQAcgBhAEMAaABpAHQAaQBsAFAAcgBlAHQAdAB5AEoARgBQAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA7VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1N3aWVyc3RyYUNoaXRpbFByZXR0eUpGUC5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEEIuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL1N3aWVyc3RyYUNoaXRpbFByZXR0eUpGUC5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACaAJqAm8CeAKDAocClQKcAqUC6gLvAvIC/wMEAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAxY=}, Bdsk-Url-1 = {http://journals.cambridge.org/action/displayAbstract?fromPage=online&aid=2837460&fulltextType=RC&fileId=S0956796808006990}, Bdsk-Url-2 = {http://dx.doi.org/10.1017/S0956796808006990}} @techreport{SwiePP04, Address = {P.O.Box 80.089, 3508 TB, Utrecht, the Netherlands}, Author = {Swierstra, S. Doaitse}, Date-Added = {2009-02-08 16:06:11 +0100}, Date-Modified = {2009-02-08 16:06:11 +0100}, Institution = {ICS}, Keywords = {Pretty Printing}, Local-Url = {http://www.cs.uu.nl/research/techreps/UU-CS-2004-025.html}, Number = {2004-25}, Title = {Linear, Online, Functional Pretty Printing Linear, Online, Functional Pretty Printing Linear, Online, Functional Pretty Printing}, Type = {UU-CS}, Urlpdf = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2004-025.pdf}, Year = {2004}} @inproceedings{SKS97b, Author = {Saraiva, Jo{\~a}o and Kuiper, Matthijs and Swierstra, Doaitse}, Booktitle = {{ILPS97 Workshop on Specialization of Declarative Programs and its Applications}}, Date-Added = {2009-02-08 16:05:09 +0100}, Date-Modified = {2009-02-08 16:05:09 +0100}, Editor = {Leuschel, Michael}, Month = {October}, Note = {(Also available as Technical Report CW 255, Department of Computer Science, Katholieke Universiteit Leuven , Belgium)}, Pages = {63--72}, Title = {{Specializing Trees for Efficient Functional Decoration}}, Year = {1997}} @inproceedings{SKS97a, Address = {St Andrews, Scotland}, Author = {Saraiva, Jo{\~a}o and Kuiper, Matthijs and Swierstra, Doaitse}, Booktitle = {9th International Workshop on Implementation of Functional Languages}, Date-Added = {2009-02-08 16:05:02 +0100}, Date-Modified = {2009-02-08 16:05:02 +0100}, Editor = {Clark, Chris and Davie, Tony and Hammond, Kevin}, Month = {September}, Pages = {517--528}, Title = {{Effective Function Cache Management for Incremental Attribute Evaluation}}, Year = {1997}} @inproceedings{PVSW03CompoAbstract_atWCL, Author = {Prasetya, I.S.W.B. and Vos, T.E.J. and Swierstra, S.D. and Widjaja, B.}, Booktitle = {3rd International Workshop on Composition Languages}, Date-Added = {2009-02-08 16:04:33 +0100}, Date-Modified = {2009-02-08 16:04:33 +0100}, Note = {Available on-line at {\tt www.cs.iastate.edu/{$\tilde\;$}lumpe/WCL2003}.}, Pubcat = {workshop}, Title = {A Theory for Composing Distributed Components Based on Temporary Interface}, Url = {{www.cs.iastate.edu/~lumpe/WCL2003}.}, Year = {2003}, Bdsk-Url-1 = {%7Bwww.cs.iastate.edu/~lumpe/WCL2003%7D.}} @inproceedings{PVSW03CompoAbstract_atFACS, Author = {Prasetya, I.S.W.B. and Vos, T.E.J. and Swierstra, S.D. and Widjaja, B.}, Booktitle = {Proceedings of the Workshop on Formal Aspects of Component Software {(FACS)}}, Date-Added = {2009-02-08 16:04:28 +0100}, Date-Modified = {2009-02-08 16:04:28 +0100}, Editor = {Van, Hung Dang and Liu, Zhiming}, Note = {Also as UNU/IIST Report no. 284. Available on-line at {\tt www.iist.unu.edu/newrh/III/1/page.html}.}, Pubcat = {workshop proceedings}, Title = {A Theory for Composing Distributed Components Based on Temporary Interface}, Url = {{www.iist.unu.edu/newrh/III/1/page.html}}, Urlinfo = {{http://www.iist.unu.edu/facs03/}}, Year = {2003}, Bdsk-Url-1 = {%7Bwww.iist.unu.edu/newrh/III/1/page.html%7D}} @inproceedings{PVAS03GenUnityAtTPHOL, Author = {Prasetya, I.S.W.B and Vos, T.E.J. and Azurat, A. and Swierstra, S.D..}, Booktitle = {Emerging Trends Proceedings of 16th International Conference, Theorem Proving in Higher Order Logics {(TPHOL)}}, Date-Added = {2009-02-08 16:04:11 +0100}, Date-Modified = {2009-02-08 16:04:11 +0100}, Editor = {Basin, D. and Wolff, B.}, Note = {Also available as tech. report No. 187 of Inst. fur Inf., Albert-Ludwig-Univ. Freiburg. Available on-line at {\tt http://www.informatik.uni-freiburg.de/tr}.}, Pages = {159-176}, Pubcat = {workshop proceedings}, Title = {{!UNITY}: A {HOL} Theory of General {UNITY}}, Urlinfo = {{http://tphols.informatik.uni-freiburg.de/}}, Urlpdf = {{http://tphols.informatik.uni-freiburg.de/proceedings/et.pdf}}, Year = {2003}} @article{PSWTeoriKomposisi01, Author = {Prasetya, I.S.W.B. and Swierstra, S.D. and Widjaja, B.}, Date-Added = {2009-02-08 16:03:52 +0100}, Date-Modified = {2009-02-08 16:03:52 +0100}, Journal = {Jurnal Ilmu Komputer dan Teknologi Informasi}, Number = {1}, Pubcat = {journal}, Title = {Teori Komposisi Komponen}, Url = {{http://www.icis.or.id/journal/j-I-01-mei01-abstrak/p1.html}}, Urlinfo = {{http://www.icis.or.id/journal/}}, Volume = {1}, Year = {2001}, Bdsk-Url-1 = {%7Bhttp://www.icis.or.id/journal/j-I-01-mei01-abstrak/p1.html%7D}} @inproceedings{LUST89ip, Address = {Amsterdam}, Author = {Lentfert, P. J. A. and Uittenbogaard, A. H. and Swierstra, S. D.and Tel, G.}, Booktitle = {Computing Science in the Netherlands}, Date-Added = {2009-02-08 16:02:09 +0100}, Date-Modified = {2009-02-08 16:02:09 +0100}, Editor = {Apers, P.M.G. and D.Bosman and van Leeuwen, J.}, Organization = {SION}, Pages = {321-344}, Publisher = {Stichting Mathematisch Centrum}, Title = {Distributed Hierarchical Routing}, Year = {1989}} @techreport{LUST89, Address = {PO.Box 80.089, 3508 TB Utrecht, the Netherlands}, Author = {Lentfert, P. J. A. and Uittenbogaard, A. H. and Swierstra, S. D. and Tel, G.}, Date-Added = {2009-02-08 16:02:02 +0100}, Date-Modified = {2009-02-08 16:02:02 +0100}, Institution = {Department of Computer Science}, Number = {89-5}, Title = {Distributed Hierarchical Routing}, Type = {RUU-CS}, Year = {1989}} @techreport{HeeHagSwi2002-31, Author = {Heeren, B.J. and Hage, J. and Swierstra, S.D.}, Date-Added = {2009-02-08 16:00:28 +0100}, Date-Modified = {2009-02-08 16:00:28 +0100}, Institution = {Department of Computer Science, Utrecht University}, Number = {2002-31}, Title = {Generalizing Hindley-Milner Type Inference Algorithms}, Type = {UU-CS}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-031.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-031.pdf}} @inproceedings{BaSw02, Author = {Baars, Arthur~I. and Swierstra, S.~Doaitse}, Booktitle = {Proceedings of the seventh ACM SIGPLAN international conference on Functional programming}, Date-Added = {2009-02-08 15:59:29 +0100}, Date-Modified = {2009-02-08 15:59:29 +0100}, Doi = {http://doi.acm.org/10.1145/581478.581494}, Editor = {Peyton Jones, S.}, Isbn = {1-58113-487-8}, Location = {Pittsburgh, PA, USA}, Pages = {157--166}, Publisher = {ACM Press}, Title = {Typing dynamic typing}, Year = {2002}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/581478.581494}} @article{BaLoSw04, Author = {Baars, Arthur I. and L{\"o}h, Andres and Swierstra, S. Doaitse}, Date-Added = {2009-02-08 15:59:21 +0100}, Date-Modified = {2009-02-08 15:59:21 +0100}, Journal = {Journal of Functional Programming}, Note = {Accepted for publication}, Pubcat = {journal}, Title = {Parsing Permutation Phrases}, Volume = {Special issue on Functional Pearls}, Year = {2004}} @techreport{APEmbedSurvey02, Author = {Azurat, A. and Prasetya, I.S.W.B.}, Date-Added = {2009-02-08 15:58:49 +0100}, Date-Modified = {2009-02-08 15:58:49 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}.}, Number = {UU-CS-2002-007}, Pubcat = {techreport}, Title = {A Survey on Embedding Programming Logics in a Theorem Prover}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-007.pdf}}, Year = {2002}, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @article{10.1109/ICSR.1998.685738, Address = {Los Alamitos, CA, USA}, Author = {Hudak, P.}, Date-Added = {2009-02-05 11:14:28 +0100}, Date-Modified = {2009-02-05 11:14:28 +0100}, Doi = {http://doi.ieeecomputersociety.org/10.1109/ICSR.1998.685738}, Issn = {1085-9098}, Journal = {Software Reuse, International Conference on}, Pages = {134}, Publisher = {IEEE Computer Society}, Title = {Modular Domain Specific Languages and Tools}, Volume = {0}, Year = {1998}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaAAAAAAAaAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBNNb2R1bGFyRFNMSHVkYWsucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ93xbB6RgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxbBsNgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA/TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpNb2R1bGFyRFNMSHVkYWsucGRmAAAOACgAEwBNAG8AZAB1AGwAYQByAEQAUwBMAEgAdQBkAGEAawAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAMlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9Nb2R1bGFyRFNMSHVkYWsucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDkuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL01vZHVsYXJEU0xIdWRhay5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACRAJGAksCVAJfAmMCcQJ4AoECvQLCAsUC0gLXAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAuk=}, Bdsk-Url-1 = {http://doi.ieeecomputersociety.org/10.1109/ICSR.1998.685738}} @article{72554, Address = {New York, NY, USA}, Author = {Hudak, Paul}, Date-Added = {2009-02-02 15:17:36 +0100}, Date-Modified = {2009-02-02 15:17:36 +0100}, Doi = {http://doi.acm.org/10.1145/72551.72554}, Issn = {0360-0300}, Journal = {ACM Comput. Surv.}, Number = {3}, Pages = {359--411}, Publisher = {ACM}, Title = {Conception, evolution, and application of functional programming languages}, Volume = {21}, Year = {1989}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wMzU5LWh1ZGFrLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Wxay++AAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxayw6AAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMzU5LWh1ZGFrLnBkZgAOAB4ADgBwADMANQA5AC0AaAB1AGQAYQBrAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AzNTktaHVkYWsucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wMzU5LWh1ZGFrLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/72551.72554}} @inproceedings{Lawall00sharingcontinuations:, Author = {Lawall, Julia L. and Mairson, Harry G.}, Booktitle = {In ESOP'2000, volume 1782. LNCS}, Date-Added = {2009-02-02 14:14:46 +0100}, Date-Modified = {2009-02-02 14:14:46 +0100}, Pages = {245--259}, Publisher = {Springer-Verlag}, Title = {Sharing continuations: proofnets for languages with explicit control}, Year = {2000}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAagAAAAAAagAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBVMYXdhbGxNYWlyc29uMjAwMC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9vxaywKQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxayiGQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBBTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpMYXdhbGxNYWlyc29uMjAwMC5wZGYAAA4ALAAVAEwAYQB3AGEAbABsAE0AYQBpAHIAcwBvAG4AMgAwADAAMAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIANFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9MYXdhbGxNYWlyc29uMjAwMC5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOy4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvTGF3YWxsTWFpcnNvbjIwMDAucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkwCTgJTAlwCZwJrAnkCgAKJAscCzALPAtwC4QAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALz}} @techreport{Shivers-Wand:bubs-tr, Address = {Department of Computer Science, University of {\AA}rhus}, Author = {Shivers, Olin and Wand, Mitchell}, Date-Added = {2009-02-02 13:38:17 +0100}, Date-Modified = {2009-02-02 13:38:17 +0100}, Institution = {BRICS}, Month = dec, Number = {RS-04-38}, Title = {Bottom-up $\beta$-reduction: Uplinks and $\lambda$-{DAG}s (extended version)}, Type = {Research Series}, Year = 2004, Annote = {Recommended version of ESOP 2005 article.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXQAAAAAAXQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAhidWJzLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+FxayoGQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxayaCQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA0TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpidWJzLnBkZgAOABIACABiAHUAYgBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAnVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2J1YnMucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAuLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9idWJzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIYAhoCHwIoAjMCNwJFAkwCVQKGAosCjgKbAqAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAACsg==}} @inproceedings{Shivers-Wand:ESOP05, Author = {Shivers, Olin and Wand, Mitchell}, Crossref = {ESOP:05}, Date-Added = {2009-02-02 13:38:17 +0100}, Date-Modified = {2009-02-02 13:38:17 +0100}, Pages = {217--232}, Title = {Bottom-up $\beta$-reduction: Uplinks and $\lambda$-{DAG}s}} @inproceedings{5304, Address = {New York, NY, USA}, Author = {Hudak, Paul and Goldberg, Benjamin}, Booktitle = {Proc. of a conference on Functional programming languages and computer architecture}, Date-Added = {2009-02-02 13:27:22 +0100}, Date-Modified = {2009-02-02 13:27:22 +0100}, Isbn = {3-387-15975-4}, Location = {Nancy, France}, Pages = {382--399}, Publisher = {Springer-Verlag New York, Inc.}, Title = {Serial combinators: ``optimal'' grains of parallelism}, Year = {1985}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAagAAAAAAagAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBVTZXJpYWxDb21iaW5hdG9ycy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ97xaykpwAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxayWlwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBBTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpTZXJpYWxDb21iaW5hdG9ycy5wZGYAAA4ALAAVAFMAZQByAGkAYQBsAEMAbwBtAGIAaQBuAGEAdABvAHIAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIANFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9TZXJpYWxDb21iaW5hdG9ycy5wZGYAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOy4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvU2VyaWFsQ29tYmluYXRvcnMucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkwCTgJTAlwCZwJrAnkCgAKJAscCzALPAtwC4QAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALz}} @inproceedings{802129, Address = {New York, NY, USA}, Author = {Hughes, R., J. M.}, Booktitle = {LFP '82: Proceedings of the 1982 ACM symposium on LISP and functional programming}, Date-Added = {2009-02-02 13:17:33 +0100}, Date-Modified = {2009-02-02 13:17:33 +0100}, Doi = {http://doi.acm.org/10.1145/800068.802129}, Isbn = {0-89791-082-6}, Location = {Pittsburgh, Pennsylvania, United States}, Pages = {1--10}, Publisher = {ACM}, Title = {Super-combinators a new implementation method for applicative languages}, Year = {1982}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMS1odWdoZXMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+NxayjDAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxayU/AAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMS1odWdoZXMucGRmAAAOABwADQBwADEALQBoAHUAZwBoAGUAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMS1odWdoZXMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AxLWh1Z2hlcy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/800068.802129}} @article{Sinot2008129, Author = {Sinot, Fran{\c c}ois-R{\'e}gis}, Date-Added = {2009-02-02 12:13:07 +0100}, Date-Modified = {2009-02-02 13:23:18 +0100}, Doi = {DOI: 10.1016/j.entcs.2008.03.058}, Issn = {1571-0661}, Journal = {Electronic Notes in Theoretical Computer Science}, Keywords = {operational semantics,functional programming languages,strategies,laziness,sharing,efficiency,optimality,call-by-need,operational semantics}, Note = {Proceedings of the 7th International Workshop on Reduction Strategies in Rewriting and Programming (WRS 2007)}, Pages = {129 - 145}, Title = {Complete Laziness: a Natural Semantics}, Url = {http://www.sciencedirect.com/science/article/B75H1-4S807W3-B/2/270f7e7c6005ed0311c0b497bb460bf6}, Volume = {204}, Year = {2008}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaQAAAAAAaQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBRDb21wbGV0ZUxhemluZXNzLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9qxayTqgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxayFmgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBATWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpDb21wbGV0ZUxhemluZXNzLnBkZgAOACoAFABDAG8AbQBwAGwAZQB0AGUATABhAHoAaQBuAGUAcwBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAzVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0NvbXBsZXRlTGF6aW5lc3MucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA6Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9Db21wbGV0ZUxhemluZXNzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJIAkoCTwJYAmMCZwJ1AnwChQLCAscCygLXAtwAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC7g==}, Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/B75H1-4S807W3-B/2/270f7e7c6005ed0311c0b497bb460bf6}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2008.03.058}} @article{Liu200729, Author = {Liu, Hai and Hudak, Paul}, Date-Added = {2009-01-28 16:30:20 +0100}, Date-Modified = {2009-01-28 16:30:20 +0100}, Doi = {DOI: 10.1016/j.entcs.2007.10.006}, Issn = {1571-0661}, Journal = {Electronic Notes in Theoretical Computer Science}, Keywords = {Haskell}, Note = {Festschrift honoring Gary Lindstrom on his retirement from the University of Utah after 30 years of service}, Pages = {29 - 45}, Title = {Plugging a Space Leak with an Arrow}, Url = {http://www.sciencedirect.com/science/article/B75H1-4R1NBCB-4/2/38094af993c9f57f72dca5d266e35d13}, Volume = {193}, Year = {2007}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAdwAAAAAAdwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9kb2lfMTAuMTAxNl9qLmVudGNzLjIjRDlGODYucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+GxaY4OQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxaYqKQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpkb2lfMTAuMTAxNl9qLmVudGNzLjIjRDlGODYucGRmAAAOAEgAIwBkAG8AaQBfADEAMAAuADEAMAAxADYAXwBqAC4AZQBuAHQAYwBzAC4AMgAwADAANwAuADEAMAAuADAAMAA2AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgBCVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2RvaV8xMC4xMDE2X2ouZW50Y3MuMjAwNy4xMC4wMDYucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEEkuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2RvaV8xMC4xMDE2X2ouZW50Y3MuMjAwNy4xMC4wMDYucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAoACggKHApACmwKfAq0CtAK9AwkDDgMRAx4DIwAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAM1}, Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/B75H1-4R1NBCB-4/2/38094af993c9f57f72dca5d266e35d13}, Bdsk-Url-2 = {http://dx.doi.org/10.1016/j.entcs.2007.10.006}} @phdthesis{thesis:pennings, Address = {Padualaan 14, 3508 TB Utrecht}, Author = {Pennings, Maarten~Christiaan}, Date-Added = {2009-01-16 17:26:33 +0100}, Date-Modified = {2009-01-16 17:28:20 +0100}, Keywords = {ST-thesis}, Month = {November}, School = {Utrecht University, Department of Computer Science}, Title = {Generating Incremental Attribute Evaluators}, Year = {1994}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAZwAAAAAAZwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBJUaGVzaXNQZW5uaW5ncy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9/xZZy7wAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxZZk3wAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA+TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpUaGVzaXNQZW5uaW5ncy5wZGYADgAmABIAVABoAGUAcwBpAHMAUABlAG4AbgBpAG4AZwBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAxVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1RoZXNpc1Blbm5pbmdzLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QOC4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvVGhlc2lzUGVubmluZ3MucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAkACQgJHAlACWwJfAm0CdAJ9ArgCvQLAAs0C0gAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALk}} @phdthesis{thesis:vogt, Address = {Padualaan 14, 3508 TB Utrecht}, Author = {Vogt, Harald Heinz}, Date-Added = {2009-01-16 16:55:49 +0100}, Date-Modified = {2009-01-16 17:30:20 +0100}, Keywords = {ST-thesis}, Month = {Feb}, School = {Utrecht University, Department of Computer Science}, Title = {Higher Order Attribute Grammars}, Year = {1993}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXQAAAAAAXQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAhWb2d0LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Dt6q6UFBERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAt6qeMAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA0TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpWb2d0LnBkZgAOABIACABWAG8AZwB0AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAnVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1ZvZ3QucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAuLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9Wb2d0LnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIYAhoCHwIoAjMCNwJFAkwCVQKGAosCjgKbAqAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAACsg==}} @inproceedings{1425822, Address = {Berlin, Heidelberg}, Author = {Dijkstra, Atze and Fokker, Jeroen and Swierstra, S. Doaitse}, Booktitle = {Implementation and Application of Functional Languages: 19th International Workshop, IFL 2007, Freiburg}, Date-Added = {2009-01-15 23:22:55 +0100}, Date-Modified = {2009-01-16 01:16:41 +0100}, Doi = {http://dx.doi.org/10.1007/978-3-540-85373-2_4}, Isbn = {978-3-540-85372-5}, Pages = {57--74}, Publisher = {Springer-Verlag}, Title = {The Structure of the Essential Haskell Compiler, or Coping with Compiler Complexity}, Volume = {5083}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-85373-2_4}} @phdthesis{norell:thesis, Address = {SE-412 96 G\{"{o}}teborg, Sweden}, Author = {Norell, Ulf}, Date-Added = {2009-01-14 23:17:08 +0100}, Date-Modified = {2009-01-14 23:17:08 +0100}, Month = {September}, School = {Department of Computer Science and Engineering, Chalmers University of Technology}, Title = {Towards a practical programming language based on dependent type theory}, Year = 2007} @techreport{UUCS2008045, Author = {Schrage, Martijn and Swierstra, Doaitse}, Date-Added = {2009-01-07 13:48:11 +0100}, Date-Modified = {2009-01-07 13:48:11 +0100}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-2008-045}, Pubcat = {techreport}, Title = {Haskell as an Architecture Description Language}, Urlpdf = {{http://www.cs.uu.nl/research/techreps/repo/CS-2008/2008-045.pdf}}, Year = 2008, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYQAAAAAAYQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAwyMDA4LTA0NS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9nxYplbgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxYpXXgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA4TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczoyMDA4LTA0NS5wZGYADgAaAAwAMgAwADAAOAAtADAANAA1AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgArVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzLzIwMDgtMDQ1LnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QMi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvMjAwOC0wNDUucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAigCKgIvAjgCQwJHAlUCXAJlApoCnwKiAq8CtAAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALG}} @techreport{UUCS2008044, Author = {Swierstra, S. Doaitse}, Date-Added = {2009-01-07 13:47:34 +0100}, Date-Modified = {2009-01-16 17:36:52 +0100}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-2008-044}, Pubcat = {techreport}, Title = {Combinator Parsing: A Short Tutorial}, Urlpdf = {{http://www.cs.uu.nl/research/techreps/repo/CS-2008/2008-044.pdf}}, Year = 2008, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYQAAAAAAYQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAwyMDA4LTA0NC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9mxYpmAAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxYpX8AAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA4TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczoyMDA4LTA0NC5wZGYADgAaAAwAMgAwADAAOAAtADAANAA0AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgArVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzLzIwMDgtMDQ0LnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QMi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvMjAwOC0wNDQucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAigCKgIvAjgCQwJHAlUCXAJlApoCnwKiAq8CtAAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAALG}} @phdthesis{thesis:dolstra, Author = {Dolstra, Eelco}, Date-Added = {2009-01-04 19:47:19 +0100}, Date-Modified = {2010-11-26 16:40:20 +0100}, Day = {15}, Isbn = {ISBN 90-393-4130-3}, Month = {Jan}, Read = {Yes}, School = {Utrecht University, The Netherlands}, Title = {The Purely Functional Software Deployment Model}, Tutor = {Doaitse Swierstra and Eelco Visser}, Url = {http://igitur-archive.library.uu.nl/dissertations/2006-0118-200031/index.htm}, Year = {2006}, Abstract = {Software deployment is the set of activities related to getting software components to work on the machines of end users. It includes activities such as installation, upgrading, uninstallation, and so on. Many tools have been developed to support deployment, but they all have serious limitations with respect to correctness. For instance, the installation of a component can lead to the failure of previously installed components; a component might require other components that are not present; and it is generally difficult to undo deployment actions. The fundamental causes of these problems are a lack of isolation between components, the difficulty in identifying the dependencies between components, and incompatibilities between versions and variants of components. This thesis describes a better approach based on a purely functional deployment model, implemented in a deployment system called Nix. Components are stored in isolation from each other in a Nix store. Each component has a name that contains a cryptographic hash of all inputs that contributed to its build process, and the content of a component never changes after it has been built. Hence the model is purely functional. This storage scheme provides several important advantages. First, it ensures isolation between components: if two components differ in any way, they will be stored in different locations and will not overwrite each other. Second, it allows us to identify component dependencies. Undeclared build time dependencies are prevented due to the absence of {"global"} component directories used in other deployment systems. Runtime dependencies can be found by scanning for cryptographic hashes in the binary contents of components, a technique analogous to conservative garbage collection in programming language implementation. Since dependency information is complete, complete deployment can be performed by copying closures of components under the dependency relation. Developers and users are not confronted with {components'\ }cryptographic hashes directly. Components are built automatically from Nix expressions, which describe how to build and compose arbitrary software components; hashes are computed as part of this process. Components are automatically made available to users through {"user environments",} which are synthesised sets of activated components. User environments enable atomic upgrades and rollbacks, as well as different sets of activated components for different users. Nix expressions provide a source-based deployment model. However, source-based deployment can be transparently optimised into binary deployment by making pre-built binaries (keyed on their cryptographic hashes) available in a shared location such as a network server. This is referred to as transparent source/binary deployment. The purely functional deployment model has been validated by applying it to the deployment of more than 278 existing Unix packages. In addition, this thesis shows that the model can be applied naturally to the related activities of continuous integration using build farms, service deployment and build management.}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAawAAAAAAawAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBZwaGQtdGhlc2lzLURvbHN0cmEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+hv+gv3FBERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAv+ghzAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBCTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwaGQtdGhlc2lzLURvbHN0cmEucGRmAA4ALgAWAHAAaABkAC0AdABoAGUAcwBpAHMALQBEAG8AbABzAHQAcgBhAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA1VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtRG9sc3RyYS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDwuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtRG9sc3RyYS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACUAJSAlcCYAJrAm8CfQKEAo0CzALRAtQC4QLmAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAvg=}, Bdsk-Url-1 = {http://igitur-archive.library.uu.nl/dissertations/2006-0118-200031/index.htm}} @inproceedings{HeerenLeijen:nioc, Author = {Heeren, Bastiaan and Leijen, Daan}, Booktitle = {NIOC'2004}, Date-Added = {2009-01-04 19:37:41 +0100}, Date-Modified = {2009-01-04 19:37:41 +0100}, Isbn = {90-5452-124-4}, Month = nov, Pages = {73--82}, Title = {Functioneel Programmeren met {Helium}}, Year = 2004, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAawAAAAAAawAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBZuaW9jLWxlaWplbi1oZWVyZW4ucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+MxYa/5AAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxYax1AAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBCTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpuaW9jLWxlaWplbi1oZWVyZW4ucGRmAA4ALgAWAG4AaQBvAGMALQBsAGUAaQBqAGUAbgAtAGgAZQBlAHIAZQBuAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA1VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL25pb2MtbGVpamVuLWhlZXJlbi5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDwuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL25pb2MtbGVpamVuLWhlZXJlbi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACUAJSAlcCYAJrAm8CfQKEAo0CzALRAtQC4QLmAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAvg=}} @phdthesis{thesis:saraiva, Author = {Saraiva, Jo{\~a}o A.}, Date-Added = {2009-01-04 19:30:38 +0100}, Date-Modified = {2009-01-04 19:32:54 +0100}, Keywords = {ST-thesis, attribute-grammars}, Month = {December}, School = {Utrecht University}, Title = {Purely Functional Implementation of Attribute Grammars}, Year = {1999}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAbwAAAAAAbwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBpwaGQtdGhlc2lzLUpvYW9TYXJhaXZhLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+itS4bS1BERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAtS3/KwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBGTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwaGQtdGhlc2lzLUpvYW9TYXJhaXZhLnBkZgAOADYAGgBwAGgAZAAtAHQAaABlAHMAaQBzAC0ASgBvAGEAbwBTAGEAcgBhAGkAdgBhAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA5VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtSm9hb1NhcmFpdmEucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxBALi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9waGQtdGhlc2lzLUpvYW9TYXJhaXZhLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJgAmICZwJwAnsCfwKNApQCnQLgAuUC6AL1AvoAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADDA==}} @phdthesis{Leijen:phdthesis, Author = {Leijen, Daan}, Date-Added = {2009-01-04 19:28:08 +0100}, Date-Modified = {2009-01-04 19:28:08 +0100}, Month = nov, School = {Department of Computer Science, Universiteit Utrecht, The Netherlands}, Title = {The $\lambda$ Abroad -- A Functional Approach to Software Components}, Year = 2003, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAaAAAAAAAaAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBNwaGQtdGhlc2lzLURhYW4ucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+gu8LrHQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAu8LdDQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA/TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwaGQtdGhlc2lzLURhYW4ucGRmAAAOACgAEwBwAGgAZAAtAHQAaABlAHMAaQBzAC0ARABhAGEAbgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAMlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9waGQtdGhlc2lzLURhYW4ucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDkuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtRGFhbi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACRAJGAksCVAJfAmMCcQJ4AoECvQLCAsUC0gLXAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAuk=}} @phdthesis{schrage04Proxima, Author = {Schrage, Martijn M.}, Class = {Ext}, Date-Added = {2009-01-04 19:19:16 +0100}, Date-Modified = {2009-01-05 15:31:16 +0100}, Day = {15}, Isbn = {90-393-3803-5}, Month = {Oct}, Rating = {5}, Read = {Yes}, School = {Utrecht University, The Netherlands}, Title = {Proxima -- a presentation-oriented editor for structured documents}, Tutor = {Doaitse Swierstra and Johan Jeuring and Lambert Meertens}, Url = {http://www.cs.uu.nl/research/projects/proxima/thesis.pdf}, Year = {2004}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAawAAAAAAawAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBZwaGQtdGhlc2lzLW1hcnRpam4ucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+kvPQazAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAvPP+rAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBCTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwaGQtdGhlc2lzLW1hcnRpam4ucGRmAA4ALgAWAHAAaABkAC0AdABoAGUAcwBpAHMALQBtAGEAcgB0AGkAagBuAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA1VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtbWFydGlqbi5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDwuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtbWFydGlqbi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACUAJSAlcCYAJrAm8CfQKEAo0CzALRAtQC4QLmAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAvg=}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/projects/proxima/thesis.pdf}} @techreport{dijkstra04expl-impl-param-tr, Author = {Dijkstra, Atze and Swierstra, S. Doaitse}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Eprint = {papers/dijkstra04expl-impl-param-tr.pdf}, Howpublished = {\verb|http://www.cs.uu.nl/research/techreps/UU-CS-2004-059.html|}, Institution = {Institute of Information and Computing Science}, Number = {UU-CS-2004-059}, School = {Institute of Information and Computing Science}, Title = {{Explicit implicit parameters}}, Year = {2004}} @inproceedings{1017485, Author = {Baars, Arthur I. and Swierstra, S. Doaitse}, Booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Doi = {http://doi.acm.org/10.1145/1017472.1017485}, Editor = {Nilsson, H.}, Isbn = {1-58113-850-4}, Location = {Snowbird, Utah, USA}, Pages = {69--79}, Pubcat = {workshop}, Publisher = {ACM Press}, Title = {Type-safe, self Inspecting code}, Urlpdf = {{http://www.cs.uu.nl/people/doaitse/papers/2004/p1210-baars.pdf}}, Year = {2004}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXQAAAAAAXQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAhUYWxrLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9+xsYI8QAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxsXs0QAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA0TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpUYWxrLnBkZgAOABIACABUAGEAbABrAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAnVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1RhbGsucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAuLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9UYWxrLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIYAhoCHwIoAjMCNwJFAkwCVQKGAosCjgKbAqAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAACsg==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1017472.1017485}} @techreport{PPTr2004, Author = {Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {submitted for publication}, Number = {UU-CS-2004-025a}, Pubcat = {techreport}, Title = {Linear, Online, Functional Pretty printing (extended and corrected version)}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2004/2004-025a.pdf}}, Year = 2004} @book{PVS_pc_lecnote_02, Author = {Prasetya, I.S.W.B and Vos, T.E.J. and Swierstra, S.D..}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Note = {Website is in dutch}, Publisher = {Universiteit Utrecht, Instituut Informatica en Informatiekunde}, Title = {Introduction to Correctness Approach in Programming, Lecture Notes}, Urlinfo = {{http://www.cs.uu.nl/docs/vakken/pc/}}, Urlpdf = {{http://www.cs.uu.nl/docs/vakken/pc/2002/dictaat.pdf}}, Year = 2002} @techreport{PVAS02GenUnity, Author = {Prasetya, I.S.W.B and Vos, T.E.J. and Azurat, A. and Swierstra, S.D..}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}}, Number = {UU-CS-2002-025}, Pubcat = {published techreport}, Title = {{!UNITY}: A Theory of General {UNITY}}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-025.pdf}}, Year = 2002, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @misc{PVSW02Compo, Author = {Prasetya, I.S.W.B. and Vos, T.E.J. and Swierstra, S.D. and Widjaja, B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Note = {Draft. Download: {\tt www.cs.uu.nl/$\tilde{\ }$wishnu}.}, Pubcat = {draft}, Title = {A Theory for Composing Distributed Components Based on Mutual Exclusion}, Urlinfo = {{http://www.cs.uu.nl/people/wishnu/research/projects/compo/index.html}}, Urlpdf = {{http://www.cs.uu.nl/people/wishnu/research/projects/compo/papers/compositionalityTheory.pdf}}, Year = 2002} @inproceedings{VSW02_refinement_RCS02, Author = {Vos, T.E.J. and Swierstra, S.D. and Prasetya, I.S.W.B}, Booktitle = {International Workshop on Refinement of Critical Systems: Methods, Tools and Experience}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Pubcat = {workshop}, Title = {Yet Another Program Refinement Relation}, Url = {{http://www.esil.univ-mrs.fr/~spc/rcs02/papers/Vos_Swierstra.ps.gz}}, Urlinfo = {{http://www.esil.univ-mrs.fr/~spc/rcs02/rcs02.html}}, Year = 2002, Bdsk-Url-1 = {%7Bhttp://www.esil.univ-mrs.fr/~spc/rcs02/papers/Vos_Swierstra.ps.gz%7D}} @techreport{xMechPrelim, Author = {Azurat, A. and Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}.}, Number = {UU-CS-2002-008}, Pubcat = {techreport}, Title = {A Preliminary Report on {xMECH}}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-008.pdf}}, Year = 2002, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @article{PASMultiLogika01, Author = {Prasetya, I.S.W.B. and Azurat, A. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Journal = {Jurnal Ilmu Komputer dan Teknologi Informasi}, Number = 2, Pubcat = {journal}, Title = {Sebuah Framework untuk Mekanisasi Multi Logika}, Url = {{http://www.icis.or.id/journal/j-I-02-nov01-abstrak/p5.html}}, Urlinfo = {{http://www.icis.or.id/journal/}}, Volume = 1, Year = 2001, Bdsk-Url-1 = {%7Bhttp://www.icis.or.id/journal/j-I-02-nov01-abstrak/p5.html%7D}} @techreport{Pra00SelfStab, Author = {Prasetya, I.S.W.B. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}.}, Number = {UU-CS-2000-07}, Pubcat = {techreport}, Title = {Formal design of self-stabilizing programs: Theory and examples}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2000/2000-07.pdf}}, Year = 2000, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @article{Pra97SSHierarchical, Author = {Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Brinksma, E.}, Journal = {Lecture Notes in Computer Science}, Pages = {399 - 415}, Pubcat = {article}, Publisher = {Springer-Verlag}, Title = {Mechanically Verified Self-Stabilizing Hierarchical Algorithms}, Volume = 1217, Year = 1997} @techreport{Pra96UnityHol, Author = {Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}}, Number = {UU-CS-1996-01}, Pubcat = {techreport}, Title = {Formalizing {UNITY} with {HOL}}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-1995/1995-07.pdf}}, Year = 1996, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @techreport{VSP97Sort, Author = {Vos, T.E.J. and Swierstra, S.D. and Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}.}, Number = {UU-CS-1996-37}, Pubcat = {techreport}, Title = {Formal methods and mechanical verification applied to the development of a convergent distributed sorting program}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Year = 1996, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @article{Pra94DistrLogic, Author = {Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Melham, T.F. and Camilleri}, Journal = {Lecture Notes in Computer Science}, Pages = {362-377}, Pubcat = {article}, Publisher = {Springer-Verlag}, Title = {Towards a Mechanically Supported and Compositional Calculus to Design Distributed Algorithms}, Volume = 859, Year = 1994} @article{Pra93Style, Author = {Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Joyce, J.J. and Seger, C.J.H.}, Journal = {Lecture Notes in Computer Science}, Pages = {475-488}, Pubcat = {article}, Publisher = {Springer-Verlag}, Title = {On the Style of Mechanical Proving}, Volume = 780, Year = 1993} @techreport{Pra93SubstRule, Author = {Prasetya, I.S.W.B.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Dept. of Comp. Science, Utrecht University}, Pubcat = {published techreport}, Title = {Mehanization of Substitution Rule and Compositionality of {UNITY} in {HOL}}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-1994/1994-19.pdf}}, Year = 1993, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @inproceedings{Pra93_CSN93, Author = {Prasetya, I.S.W.B.}, Booktitle = {Proceedings of Computing Science in the Netherlands 93}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Wijshoff, H.A.}, Note = {Best paper award}, Organization = {SION}, Pages = {12-23}, Pubcat = {inproceedings}, Publisher = {Stichting Matematisch Centrum}, Title = {Variable Access Constraints and Compositionality of Liveness Properties}, Year = 1993} @inproceedings{HHS:constraint, Address = {Cork}, Author = {Heeren, Bastiaan and Hage, Jurriaan and Swierstra, S. Doaitse}, Booktitle = {Workshop Proceedings of Immediate Applications of Constraint Programming}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {M.-C.~Silaghi and M.~Zanker}, Month = {September}, Notes = {Based on \cite{heeren2002parametric} and \cite{heeren2002generalizing}}, Pages = {59 -- 80}, Pubcat = {workshop}, Title = {Constraint based type inferencing in {H}elium}, Year = {2003}} @techreport{heeren2002generalizing, Address = {University Utrecht, Netherlands}, Author = {Heeren, Bastiaan and Hage, Jurriaan and Swierstra, Doaitse}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Institute of Information and Computing Science}, Month = {July}, Note = {Technical Report}, Number = {UU-CS-2002-031}, Pubcat = {techreport}, Title = {Generalizing Hindley-Milner Type Inference Algorithms}, Year = {2002}} @techreport{VosSwie2001a, Author = {Vos, T.E.J. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Insitution = {Department of Computer Science, Utrecht University}, Number = {2000-41}, Title = {Program refinement in UNITY}, Type = {UU-CS}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2001-041.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2001-041.pdf}} @techreport{VosSwie2001b, Author = {Vos, T.E.J. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Insitution = {Department of Computer Science, Utrecht University}, Number = {2000-40}, Title = {Proving distributed hylomorphisms}, Type = {UU-CS}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2002-040.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2002-040.pdf}} @inproceedings{func:lazy:java:parser-combinator, Author = {Dijkstra, A. and Swierstra, S. D.}, Booktitle = {Proceedings of 1st Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL)}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Pages = {11-42}, Publisher = {John von Neumann Institute for Computing}, Title = {{Lazy Functional Parser Combinators in Java}}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2001-018.pdf}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2001/2001-018.pdf}} @inproceedings{vladisds, Author = {Costas, V.A. and Swierstra, S.D.}, Booktitle = {XXVII Conferencia Latinoamericana de INFORMATICA (CLEI 2001)}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {C., Jonas Montilva and Isabel Besembel, C.}, Isbn = {980-11-0528-3}, Pages = {120}, Title = {Generador de Parsers Basado en Combinadores}, Year = {2001}} @inproceedings{BaLoSw01, Author = {Baars, A.I. and L{\"o}h, A. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-05 22:23:36 +0100}, Note = {Also appeared in the preliminary proceedings, Technical Report of Universiteit Utrecht, UU-CS-2001-23}, Publisher = {ACM Press}, Series = {Eletronic Notes in Theoretical Computer Science}, Title = {Parsing permutation phrases}, Volume = {59}, Year = {2001}} @techreport{VosSwie200010, Author = {Vos, T.E.J. and Swierstra, S. D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Insitution = {Department of Computer Science, Utrecht University}, Number = {2000-10}, Title = {Sequential program Composition in UNITY}, Type = {UU-CS}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2000/2000-010.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2000/2000-010.pdf}} @techreport{PraSwi200009, Author = {Vos, T.E.J. and Swierstra, S. D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Insitution = {Department of Computer Science, Utrecht University}, Number = {2000-09}, Title = {Defining a non-concrete recursive type in HOL which includes sets}, Type = {UU-CS}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2000/2000-009.pdf}, Year = {2000}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2000/2000-009.pdf}} @proceedings{ESOP99, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-05 22:21:23 +0100}, Editor = {Swierstra, S.~Doaitse}, Publisher = Springer-Verlag, Series = {LNCS}, Title = {ESOP99: European Symposium on Programming}, Volume = {1576}, Year = {1999}} @inproceedings{SwieAzer99, Author = {Swierstra, S. D. and Azero Alcocer, P. R.}, Booktitle = {SOFSEM'99 Theory and Practice of Informatics, 26th Seminar on Current Trends in Theory and Practice of Informatics}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Pavelka, Jan and Tel, Gerard and Bartosek, Miroslav}, Month = {November}, Pages = {111-129}, Series = {LNCS}, Title = {Fast, Error Correcting Parser Combinators: a Short Tutorial}, Volume = {1725}, Year = {1999}} @incollection{SwieAzer98, Author = {Swierstra, S. D. and Azero, P.}, Booktitle = {Proceedings of the SI2000}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Publisher = {Chapman-Hall}, Title = {Attribute Grammars in the Functional Style}, Year = 1998} @techreport{SSK97a, Author = {Saraiva, Jo{\~a}o and Swierstra, Doaitse and Kuiper, Matthijs}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Department of Computer Science, Utrecht University}, Month = {August}, Note = {{\tt ftp://ftp.cs.ruu.nl/pub/RUU/CS/techreps/CS-1997/1997-30.ps.gz}}, Title = {{Strictification of Computations on Trees}}, Type = {Technical Report {UU-CS-1997-30}}, Year = {1997}} @inproceedings{SwieDupo96, Author = {Swierstra, S. D. and Duponcheel, L.}, Booktitle = {Advanced Functional Programming}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Launchbury, John and Meijer, Erik and Sheard, Tim}, Pages = {184-207}, Publisher = {Springer-Verlag}, Series = {LNCS-Tutorial}, Title = {Deterministic, Error-Correcting Combinator Parsers}, Urlpdf = {http://www.cs.uu.nl/people/doaitse/Papers/1996/DetErrCorrComPars.pdf}, Volume = {1129}, Year = {1996}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYAAAAAAAYAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIAtzaGVhcmQyLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE94Nxd6jmgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxd6VigAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA3TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpzaGVhcmQyLnBkZgAADgAYAAsAcwBoAGUAYQByAGQAMgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAKlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9zaGVhcmQyLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAxLi4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9zaGVhcmQyLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIkAiYCKwI0Aj8CQwJRAlgCYQKVApoCnQKqAq8AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAACwQ==}} @techreport{SaraSwieKuip96, Author = {Saraiva, J. and Kuiper, M. and Swierstra, S. D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Insitution = {Department of Computer Science, Utrecht University}, Number = {1996-50}, Title = {Effective function cache management for incremental attribute evaluation}, Type = {UU-CS}, Year = {1996}} @techreport{SarKuiSw96, Author = {Saraiva, J. and Swierstra, S. D. and Kuiper, M. and Pennings, M.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Insitution = {Department of Computer Science, Utrecht University}, Number = {1996-51}, Title = {Strictification of lazy functions}, Type = {UU-CS}, Year = {1996}} @proceedings{Swie95PLILP, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Hermenegildo, Manuel and Swierstra, S. Doaitse}, Publisher = Springer-Verlag, Series = {LNCS}, Title = {Proceedings of the the 7th International PLILP Symposium {\em Programming Languages: Implementations, Logics and Programs}}, Volume = {982}, Year = {1995}} @inproceedings{LentSwie93, Author = {Lentfert, P. J. A. and Swierstra, S. D.}, Booktitle = {STACS 93, Proceedings of the 10th Annual Symposium on Theretical Aspects of Computer Science}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Enjalbert, P. and Finkel, A. and Wagner, K.W.}, Month = {February}, Pages = {440-451}, Series = {LNCS}, Title = {Towards the Formal Design of Self-Stabilising Distributed Algorithms}, Volume = {665}, Year = {1993}} @incollection{SwieMoor93, Address = {Berlin}, Author = {Swierstra, S. D. and Moor, O. de}, Booktitle = {Formal Program Development}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {B., M{\"o}ller and H., Partsch and S., Schuman}, Number = 755, Pages = {355-371}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {Virtual Data Structures}, Year = 1993} @inproceedings{FlLiDijOoSw92, Author = {Florijn, G. H. and Lippe, E. and Dijkstra, A. and van Oosterom, N. and Swierstra, S. D.}, Booktitle = {Proceedings of the European/Usenix Spring Workshop,Jersey}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Title = {Camera: Cooperation in Open Distributed Environments}, Year = {1992}} @techreport{PennSwieVogt92-11, Address = {Padualaan 14}, Author = {Pennings, Maarten and Swierstra, Doaitse and Vogt, Harald}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Department of Computer Science}, Number = {92-11}, Title = {Using cached functions and constructors for incremental attribute evaluation}, Type = {RUU-CS}, Year = {1992}} @inbook{PeSw91, Author = {Swierstra, S. D. and Vogt, H. H.}, Chapter = {Higher Order Attribute Grammars}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Alblas, H. and Melichar, B.}, Pages = {256-296}, Publisher = {Springer}, Series = {LNCS}, Title = {Attribute Grammars, Applications and Systems}, Type = {LNCS}, Volume = {545}, Year = {1991}} @inproceedings{KuipSwie90, Author = {Kuiper, Matthijs F. and Swierstra, S. Doaitse}, Booktitle = {Attribute grammars and their Aplication}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Editor = {Deransart, P and Jourdan, M.}, Organization = {INRIA}, Pages = {61-75}, Publisher = {Springer-Verlag}, Title = {Parallel attribute evaluation: stucture of evaluators and detection of parallelism}, Year = {1990}} @techreport{SwieVogt90, Author = {Swierstra, S. D. and Vogt, H. H.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Dept. of Computer Science}, Number = {90-12}, Title = {Higher order attribute grammars: a merge between functional and object oriented programming}, Type = {RUU-CS}, Year = {1990}} @techreport{VogtSwieKuip90, Address = {P.O.Box 80.089, 3508 TB Utrecht, the Netherlands}, Author = {Vogt, H. H. and Swierstra, S.D. and Kuiper, M.F.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Department of Computer Science}, Number = {90-36}, Title = {On the efficient incremental evaluation of higher order attribute grammars}, Type = {RUU-CS}, Year = {1990}} @inproceedings{VogtSwieKuip89, Author = {Vogt, H. H. and Swierstra, S. D. and Kuiper, M. F.}, Booktitle = {Sigplan 1989 Conference on programming language design and Implementation}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Publisher = {ACM}, Title = {Higher Order Attribute grammars}, Year = {1989}} @inproceedings{KuipSwie88, Author = {Kuiper, M. F. and Swierstra, S. D.}, Booktitle = {Computing Science in the Netherlands}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Organization = {SION}, Pages = {109-121}, Publisher = {SION}, Title = {Increasing Parallelism in Attribute Grammar Evaluators: Transformations and Lazy Evaluations}, Year = {1988}} @techreport{KuipSwie86, Author = {Kuiper, M. F. and Swierstra, S. D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Department of Computer Science}, Number = {86-16}, Title = {Using Attribute grammars to derive Efficient Functional Programs}, Type = {RUU-CS}, Year = {1986}} @techreport{SchouSwi1984, Author = {Schoute, A.L. and Swierstra, S.D}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Twente University of Technology}, Number = {1984-20}, Title = {Writing Concurrent Programs in a Sequential Language like Pascal}, Type = {Inf-Memorandum}, Year = {1984}} @article{BronDijkSwie82, Author = {Bron, C. and Dijkstra, E.J. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Journal = {Information Processing Letters}, Number = 1, Pages = {20--22}, Title = {A Memory-Management Unit for the Optimal Exploitation of a Small Address Space}, Volume = 15, Year = 1982} @misc{Swie1980, Author = {Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Howpublished = {Ada Symposium}, Organisation = {Nederlanfs Genootschap voor Informatica}, Title = {Some notes on Ada}, Year = 1980} @techreport{Swie1979b, Author = {Swierstra, S. D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Institution = {Technical University Twente}, Number = {262}, Series = {TW-Memorandum}, Title = {Machine Architectures for Block Structured Languages}, Year = {1979}} @inproceedings{Swi77, Author = {Swierstra, S. D.}, Booktitle = {M(achine) O(riented) L(anguages)-bulletin}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Publisher = INRIA, Title = {Abstract Data Types, Definition Modules and Extensions to Definition Modules}, Year = {1977}} @article{AtkHeeSwi76, Author = {Atkinson, A. and Heemskerk, A.C. and Swierstra, S.D.}, Date-Added = {2009-01-04 17:21:54 +0100}, Date-Modified = {2009-01-04 17:21:54 +0100}, Journal = {Nuclear Physics}, Title = {Construction of a Unitary Scattering Amplitude}, Volume = B109, Year = 1976} @article{1139051, Address = {Norwell, MA, USA}, Author = {Moore, Robert C.}, Book = {New developments in parsing technology}, Date-Added = {2008-12-05 15:27:14 +0100}, Date-Modified = {2008-12-05 15:27:14 +0100}, Isbn = {1-4020-2293-X}, Pages = {185--201}, Publisher = {Kluwer Academic Publishers}, Title = {Improved left-corner chart parsing for large context-free grammars}, Year = {2004}} @book{549042, Address = {Secaucus, NJ, USA}, Author = {Sikkel, Klaas}, Date-Added = {2008-12-05 15:24:43 +0100}, Date-Modified = {2008-12-05 15:24:43 +0100}, Isbn = {3540616500}, Publisher = {Springer-Verlag New York, Inc.}, Title = {Parsing Schemata: A Framework for Specification and Analysis of Parsing Algorithms}, Year = {1997}} @article{kc:jfp04-parser, Author = {Claessen, Koen}, Date-Added = {2008-12-01 21:32:22 +0100}, Date-Modified = {2008-12-01 21:32:22 +0100}, Journal = {Journal of Functional Programming}, Number = {6}, Pages = {741--757}, Publisher = {Cambridge University Press}, Title = {Parallel Parsing Processes}, Volume = {14}, Year = {2004}} @article{meijerhutton, Address = {New York, NY, USA}, Author = {Hutton, Graham and Meijer, Erik}, Date-Added = {2008-11-28 15:19:00 +0100}, Date-Modified = {2008-11-28 15:21:58 +0100}, Doi = {http://dx.doi.org/10.1017/S0956796898003050}, Issn = {0956-7968}, Journal = {J. Funct. Program.}, Number = {4}, Pages = {437--444}, Publisher = {Cambridge University Press}, Title = {Monadic parsing in Haskell}, Volume = {8}, Year = {1998}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796898003050}} @inproceedings{1425824, Address = {Berlin, Heidelberg}, Author = {Wallace, Malcolm}, Booktitle = {Implementation and Application of Functional Languages: 19th International Workshop, IFL 2007, Freiburg, Germany, September 27-29, 2007. Revised Selected Papers}, Date-Added = {2008-11-28 15:12:32 +0100}, Date-Modified = {2008-12-01 21:45:46 +0100}, Doi = {http://dx.doi.org/10.1007/978-3-540-85373-2_6}, Isbn = {978-3-540-85372-5}, Pages = {93--110}, Publisher = {Springer-Verlag}, Title = {Partial Parsing: Combining Choice with Commitment}, Year = {2008}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1Qb2x5cGFyc2UucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ94xVnKiAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxVm8eAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpQb2x5cGFyc2UucGRmAAAOABwADQBQAG8AbAB5AHAAYQByAHMAZQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9Qb2x5cGFyc2UucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL1BvbHlwYXJzZS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}, Bdsk-Url-1 = {http://dx.doi.org/10.1007/978-3-540-85373-2_6}} @techreport{UUCS2007049, Author = {Fokker, Jeroen and Swierstra, S. Doaitse}, Date-Added = {2008-11-11 17:51:08 +0100}, Date-Modified = {2008-11-11 17:51:08 +0100}, Institution = {Department of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-2007-049}, Pubcat = {techreport}, Title = {Abstract Interpretation of Functional Programs using an Attribute Grammar System}, Urlpdf = {{http://www.cs.uu.nl/research/techreps/repo/CS-2007/2007-049.pdf}}, Year = 2007} @article{db-utwente:arti:0000003424, Address = {Deventer, The Netherlands}, Author = {Fokkinga, M.M.}, Bibsource = {http://dbappl.cs.utwente.nl/Docs/Publications/pub_bibtex.php?pub_id=0000003424}, Date-Added = {2008-08-14 21:35:19 +0200}, Date-Modified = {2008-08-14 21:35:19 +0200}, Journal = {INFORMATIE}, Number = {10}, Pages = {862--873}, Publisher = {Kluwer b.v.}, Title = {{Functioneel programmeren in een vogelvlucht}}, Volume = {27}, Year = {1985}} @article{321811, Address = {New York, NY, USA}, Author = {Wagner, Robert A. and Fischer, Michael J.}, Date-Added = {2008-08-14 11:32:19 +0200}, Date-Modified = {2008-08-14 11:32:19 +0200}, Doi = {http://doi.acm.org/10.1145/321796.321811}, Issn = {0004-5411}, Journal = {J. ACM}, Number = {1}, Pages = {168--173}, Publisher = {ACM}, Title = {The String-to-String Correction Problem}, Volume = {21}, Year = {1974}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/321796.321811}} @phdthesis{thesis:Heeren, Author = {Heeren, Bastiaan}, Date-Added = {2008-07-15 17:39:33 +0200}, Date-Modified = {2008-07-15 17:41:01 +0200}, Keywords = {Helium, type inferencing, constraints}, School = {Utrecht University}, Title = {Top Quality Type Error Messages}, Year = {2005}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAbAAAAAAAbAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBdwaGQtdGhlc2lzLUJhc3RpYWFuLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+fvz45NAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAvz4dFAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBDTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwaGQtdGhlc2lzLUJhc3RpYWFuLnBkZgAADgAwABcAcABoAGQALQB0AGgAZQBzAGkAcwAtAEIAYQBzAHQAaQBhAGEAbgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIANlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9waGQtdGhlc2lzLUJhc3RpYWFuLnBkZgATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA9Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9waGQtdGhlc2lzLUJhc3RpYWFuLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJUAlYCWwJkAm8CcwKBAogCkQLRAtYC2QLmAusAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC/Q==}} @article{Ljunglof2004-FunctChartParsing, Author = {Ljungl{\"o}f, Peter}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Journal of Functional Programming}, Local-Url = {pubs/Ljunglof-2004b.pdf}, Month = {November}, Number = {6}, Pages = {669--680}, Title = {Functional Chart Parsing of Context-Free Grammars}, Volume = {14}, Year = {2004}} @article{Leavenworth66, Author = {Leavenworth, B. M.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {CACM}, Number = 11, Pages = {790--793}, Title = {Syntax macros and extended translation}, Volume = 9, Year = {1966}} @techreport{Ralf, Author = {Cheney, James and Hinze, Ralf}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Cornell University}, Note = {\url{http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2003-1901}}, Title = {{First-Class Phantom Types}}, Type = {Technical Report {TR2003-1901}}, Year = {2003}} @inproceedings{Okasaki97, Author = {Okasaki, Chris}, Booktitle = {Proceedings of the second ACM SIGPLAN international conference on Functional programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/258948.258956}, Isbn = {0-89791-918-1}, Location = {Amsterdam, The Netherlands}, Pages = {66--74}, Publisher = {ACM Press}, Title = {Catenable double-ended queues}, Year = {1997}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/258948.258956}} @article{Oppen, Author = {Oppen, Dereck C.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/357114.357115}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Number = {4}, Pages = {465--483}, Publisher = {ACM Press}, Title = {Pretty-printing}, Volume = {2}, Year = {1980}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/357114.357115}} @article{ChitilToplas, Author = {Chitil, Olaf}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {accepted for Transaction on Programming Languages and Systems}, Title = {Pretty Printing with Lazy Dequeues}, Year = {2004}} @inproceedings{ChitilHW2001, Author = {Chitil, Olaf}, Booktitle = {ACM Sigplan Haskell Workshop}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Hinze, Ralf}, Institute = {Institute of Information and Computing Sciences}, Keywords = {Pretty printing}, Month = {September}, Number = {23}, Pages = {183-201}, Series = {UU-CS}, Title = {Pretty Printing with Lazy Dequeues}, Url = {http://www.cs.uu.nl/research/techreps/UU-CS-2001-23.html}, Year = {2001}, Bdsk-Url-1 = {http://www.cs.uu.nl/research/techreps/UU-CS-2001-23.html}} @incollection{Hughes95, Author = {Hughes, John}, Booktitle = {Advanced Functional Programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Jeuring, J. and Meijer, E.}, Publisher = {Springer Verlag}, Title = {{T}he {D}esign of a {P}retty-printing {L}ibrary}, Volume = {925}, Year = {1995}} @incollection{Wadler2003, Author = {Wadler, Philips}, Booktitle = {The fun of programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Gibbons, Jeremy and Moor, Oege de}, Isbn = {1-4039-0772-2}, Pages = {223-244}, Publisher = {Palgrave Macmillan}, Title = {A Prettier Printer}, Year = {2003}} @article{wadler99prettier, Author = {Wadler, Philip}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Journal of Functional Programming}, Title = {A prettier printer}, Year = {1999}} @unpublished{SPJPretty97, Author = {Peyton~Jones, Simon L.~}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {http://www.haskell.org/libraries/\#prettyprinting}, Title = {Haskell pretty-printing library}} @misc{baars, Author = {Baars, Arthur and Swierstra, Doaitse}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {\url{http://www.cs.uu.nl/groups/ST/Center/SyntaxMacros}}, Title = {Syntax Macros}} @inproceedings{PasSheardMerlin03-wrong, Address = {OGI}, Author = {Pasalic, E. and Sheard, T.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {790-793}, Title = {Implementing Pattern-Based Binding in Typed Object-Languages}, Volume = {9}, Year = {2003}} @inproceedings{944727, Address = {New York, NY, USA}, Author = {Hughes, R. John M. and Swierstra, S. Doaitse}, Booktitle = {ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/944705.944727}, Isbn = {1-58113-756-7}, Location = {Uppsala, Sweden}, Pages = {239--248}, Publisher = {ACM Press}, Title = {Polish parsers, step by step}, Year = {2003}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/944705.944727}} @inproceedings{pasalic, Author = {Pasalic, Emir and Linger, Nathan}, Booktitle = {Generative Programming and Component Engineering (GPCE'04)}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Month = {October}, Pages = {136 -- 167}, Title = {Meta-Programming with Typed Object-Language Representations}, Volume = {LNCS 3286}, Year = {2004}} @inproceedings{templatehaskell, Author = {Sheard, Tim and Peyton~Jones, Simon}, Booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/581690.581691}, Isbn = {1-58113-605-6}, Location = {Pittsburgh, Pennsylvania}, Pages = {1--16}, Publisher = {ACM Press}, Title = {Template meta-programming for Haskell}, Year = {2002}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/581690.581691}} @inproceedings{mdo, Author = {Erk{\"}{o}k, Levent and Launchbury, John}, Booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-11-28 14:58:34 +0100}, Doi = {http://doi.acm.org/10.1145/581690.581693}, Isbn = {1-58113-605-6}, Location = {Pittsburgh, Pennsylvania}, Pages = {29--37}, Publisher = {ACM Press}, Title = {A recursive do for Haskell}, Year = {2002}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/581690.581693}} @inproceedings{756689, Author = {Claessen, Koen and Sands, David}, Booktitle = {Proceedings of the 5th Asian Computing Science Conference on Advances in Computing Science}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Isbn = {3-540-66856-X}, Pages = {62--73}, Publisher = {Springer-Verlag}, Title = {Observable Sharing for Functional Circuit Description}, Year = {1999}} @inproceedings{grdc, Author = {Xi, Hongwei and Chen, Chiyan and Chen, Gang}, Booktitle = {Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/604131.604150}, Isbn = {1-58113-628-5}, Location = {New Orleans, Louisiana, USA}, Pages = {224--235}, Publisher = {ACM Press}, Title = {Guarded recursive datatype constructors}, Year = {2003}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/604131.604150}} @techreport{Leijen:parsec, Author = {Leijen, Daan}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Institute of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-2001-26}, Title = {Parsec, a fast combinator parser}, Year = {2001}} @inproceedings{typefultrans, Author = {Chen, Chiyan and Xi, Hongwei}, Booktitle = {PEPM'03}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Title = {Implementing Typeful Program Transformations}, Year = {2003}} @article{Cameron:perms, Author = {Cameron, Robert~D.}, Bibdate = {Thu May 30 15:54:54 MDT 1996}, Bibsource = {http://www.acm.org/pubs/toc/}, Coden = {ALPSE8}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Issn = {1057-4514}, Journal = {{ACM} Letters on Programming Languages and Systems}, Month = mar, Number = {4}, Pages = {85--94}, Title = {Extending context-free grammars with permutation phrases}, Url = {http://www.acm.org/pubs/toc/Abstracts/1057-4514/176490.html}, Volume = {2}, Year = {1993}, Bdsk-Url-1 = {http://www.acm.org/pubs/toc/Abstracts/1057-4514/176490.html}} @article{gadt, Address = {New York, NY, USA}, Author = {Peyton~Jones, Simon and Vytiniotis, Dimitrios and Weirich, Stephanie and Washburn, Geoffrey}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/1160074.1159811}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {9}, Pages = {50--61}, Publisher = {ACM Press}, Title = {Simple unification-based type inference for GADTs}, Volume = {41}, Year = {2006}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/1160074.1159811}} @inproceedings{dynamictyping, Author = {Baars, Arthur I. and Swierstra, S. Doaitse}, Booktitle = {Proceedings of the seventh ACM SIGPLAN international conference on Functional programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/581478.581494}, Isbn = {1-58113-487-8}, Location = {Pittsburgh, PA, USA}, Pages = {157--166}, Pubcat = {conference proceedings}, Publisher = {ACM Press}, Title = {Typing dynamic typing}, Year = {2002}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYwAAAAAAYwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA5wMTU3LWJhYXJzLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+PxsLiXlBERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxsLGPgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA6TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMTU3LWJhYXJzLnBkZgAOAB4ADgBwADEANQA3AC0AYgBhAGEAcgBzAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgAtVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL3AxNTctYmFhcnMucGRmAAATAAEvAAAVAAIADv//AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxA0Li4vLi4vLi4vLi4vLi4vLi4vLi4vRG9jdW1lbnRzL1BhcGVycy9wMTU3LWJhYXJzLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAIwAjICNwJAAksCTwJdAmQCbQKkAqkCrAK5Ar4AAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC0A==}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/581478.581494}} @inproceedings{Johnson, Author = {Johnson, M.}, Booktitle = {COLING-ACL '98, Montreal, Quebec, Canada}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {619--623}, Publisher = {Association for Computational Linguistics}, Title = {Finite-state approximation of constraint-based grammars using left-corner grammar transforms}, Year = {1998}} @misc{robertcmoore, Author = {Moore, R.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Text = {Robert C. Moore. 2000. Removing left recursion from context-free grammars. In Proceedings of 1st Annual Conference of the North American Chapter of the Association for Computational Linguistics, San Francisco.}, Title = {Removing left recursion from context-free grammars}, Url = {citeseer.ist.psu.edu/article/moore00removing.html}, Year = {2000}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXwAAAAAAXwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIApnY3NlOTkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Ixct2dAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxctoZAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA2TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpnY3NlOTkucGRmAA4AFgAKAGcAYwBzAGUAOQA5AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgApVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDAuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACIAIiAicCMAI7Aj8CTQJUAl0CkAKVApgCpQKqAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAArw=}, Bdsk-File-2 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXwAAAAAAXwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIApnY3NlOTkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Ixct2dAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxctoZAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA2TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpnY3NlOTkucGRmAA4AFgAKAGcAYwBzAGUAOQA5AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgApVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDAuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACIAIiAicCMAI7Aj8CTQJUAl0CkAKVApgCpQKqAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAArw=}, Bdsk-Url-1 = {citeseer.ist.psu.edu/article/moore00removing.html}} @book{paul, Author = {Hopcroft, J. E. and Ullman, J. D.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Publisher = {Addison-Wesley Publishing Company, Reading, Massachusetts}, Title = {Introduction to Automata Theory, Languages, and Computation}, Year = {1979}} @inproceedings{Weirich2000, Author = {Weirich, Stephanie}, Booktitle = {Proceedings of the fifth {ACM} {SIGPLAN} international conference on Functional programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/351240.351246}, Isbn = {1-58113-202-6}, Pages = {58--67}, Publisher = ACM, Title = {Type-safe cast}, Year = {2000}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/351240.351246}} @inproceedings{Yang1998, Author = {Yang, Zhe}, Booktitle = {Proceedings of the third {ACM} {SIGPLAN} international conference on Functional programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Doi = {http://doi.acm.org/10.1145/289423.289458}, Isbn = {1-58113-024-4}, Location = {Baltimore, Maryland, United States}, Pages = {289--300}, Publisher = ACM, Title = {Encoding types in {ML}-like languages}, Year = {1998}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/289423.289458}} @inproceedings{odersky96putting, Address = {New York, NY}, Author = {Odersky, Martin and L{\"a}ufer, Konstantin}, Booktitle = {Conference Record of {POPL} '96: The 23rd {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages, St. Petersberg Beach, Florida}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {54--67}, Title = {Putting Type Annotations to Work}, Year = {1996}} @inproceedings{pil98dynamic, Author = {Pil, Marco}, Booktitle = {Implementation of Functional Languages, 10th International Workshop, IFL'98}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Isbn = {3-540-66229-4}, Pages = {169-185}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Dynamic Types and Type Dependent Functions}, Volume = {1595}, Year = {1999}} @proceedings{DBLP:conf/ifl/1998, Bibsource = {DBLP, http://dblp.uni-trier.de}, Booktitle = {IFL}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Hammond, Kevin and Davie, Antony J. T. and Clack, Chris}, Isbn = {3-540-66229-4}, Publisher = {Springer}, Series = {Lecture Notes in Computer Science}, Title = {Implementation of Functional Languages, 10th International Workshop, IFL'98, London, UK, September 9-11, Selected Papers}, Volume = {1595}, Year = {1999}} @techreport{AmberGuide, Author = {Clarke, Dave and Hinze, Ralf and Jeuring, Johan and L{\"}oh, Andres and de Wit, Jan}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-11-28 14:50:16 +0100}, Institution = {Institute of Information and Computing Sciences, Utrecht University}, Number = {UU-CS-2001-26}, Title = {The {G}eneric {H}askell User's Guide}, Year = {2001}} @inproceedings{clarke:loeh:generic, Author = {Clarke, Dave and L{\"}{o}h, Andres}, Booktitle = {IFIP WG2.1 Working Conference on Generic Programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-11-28 14:58:59 +0100}, Title = {{G}eneric {H}askell, Specifically}, Year = {2002}} @inproceedings{swierstra01combinator, Author = {Swierstra, S.~D.}, Booktitle = {Electronic Notes in Theoretical Computer Science}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Hutton, Graham}, Issue = {1}, Publisher = {Elsevier Science Publishers}, Title = {Combinator Parsers: From Toys to Tools}, Url = {http://math.tulane.edu/~entcs/}, Volume = {41}, Year = {2001}, Bdsk-Url-1 = {http://math.tulane.edu/~entcs/}} @inproceedings{shields98dynamic, Author = {Shields, Mark and Sheard, Tim and Peyton~Jones, Simon L.~}, Booktitle = {Symposium on Principles of Programming Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {289-302}, Title = {Dynamic Typing as Staged Type Inference}, Year = {1998}} @inproceedings{xavier91dynamics, Address = {Berlin, Heidelberg, New York}, Author = {Leroy, Xavier and Mauny, Michael}, Booktitle = {Functional Programming Languages and Computer Architecture, 5th {ACM} Conference}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Hughes, J.}, Pages = {406--426}, Publisher = {Springer-Verlag}, Title = {Dynamics in {ML}}, Volume = {523}, Year = {1991}} @article{Henglein92, Acknowledgement = ack-nhfb, Affiliation = {Univ of Copenhagen}, Affiliationaddress = {Copenhagen, Den}, Author = {Henglein, Fritz}, Bibdate = {Sun Oct 10 09:12:09 MDT 1999}, Classification = {721.1; 723.1; 723.1.1; 921.5}, Coden = {SCPGD4}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Fullissn = {0167-6423}, Journal = {Science of Computer Programming}, Journalabr = {Sci Comput Program}, Keywords = {Computer programming; Computer programming languages; Dynamic programming; Dynamic type coercions; Dynamic typing; Minimality of completions; Modulo equality; Programming theory; Proof theory; Run time type tagging; Safety; Syntax; Theorem proving; Type check and untag operations}, Month = jun, Mrclass = {68Q55 (03B40 03B70 68Q65)}, Mrnumber = {96b:68109}, Note = {Selected papers of the Fourth European Symposium on Programming (Rennes, 1992)}, Number = {3}, Pages = {197--230}, Source = {SCP bib}, Title = {Dynamic typing: syntax and proof theory}, Volume = {22}, Year = {1994}} @unpublished{Mycroft:dynamics, Author = {Mycroft, Alan}, Checked = {Not checked}, Complete = {Incomplete}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {Manuscript}, Title = {Dynamic Types in {ML}}, Year = 1983} @article{ABADI91, Author = {Abadi, Mart\'{\i}n and Cardelli, Luca and Pierce, Benjamin and Plotkin, Gordon}, Bcp = yes, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = toplas, Month = apr, Number = 2, Pages = {237--268}, Publisher = ACM, Title = {Dynamic Typing in a Statically Typed Language}, Volume = 13, Year = 1991} @article{Abadi92, Author = {Abadi, Mart\'{\i}n and Cardelli, Luca and Pierce, Benjamin and R\'{e}my, Didier}, Bcp = yes, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Journal of Functional Programming}, Month = jan, Note = {Summary in \bgroup \em {ACM} {SIGPLAN} {W}orkshop on {ML} and its Applications\egroup, June 1992}, Number = {1}, Pages = {111--130}, Title = {Dynamic Typing in Polymorphic Languages}, Volume = {5}, Year = 1995} @inproceedings{Henglein92:ESOP, Author = {Henglein, Fritz}, Booktitle = {Proc. European Symp. on Programming (ESOP), Rennes, France}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Month = feb, Note = {Lecture Notes in Computer Science, Vol. 582}, Pages = {233--253}, Publisher = {Springer}, Source = {From the horse's mouth, except that I altered the first name from F. Not checked against the orig.}, Title = {Dynamic Typing}, Year = {1992}} @inproceedings{chakravarty, Author = {Chakravarty, Manuel M. T.}, Booktitle = {Fourth Fuji International Symposium on Functional and Logic Programming: FLOPS 99}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Middeldorp, A. and Sato, T.}, Number = 1722, Pages = {68--84}, Series = {LNCS}, Title = {Lazy Lexing is Fast}, Year = 1999} @inproceedings{FokkerFuncParsing, Author = {Fokker, J.}, Booktitle = {Advanced Functional Programming, First International Spring School}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:27:46 +0200}, Editor = {Jeuring, J.T. and Meijer, H.J.M.}, Number = 925, Pages = {1--23}, Series = {LNCS}, Title = {Functional Parsers}, Year = 1995, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1mdWxsdGV4dDEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXfd5yR3L0gAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyR29wgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpmdWxsdGV4dDEucGRmAAAOABwADQBmAHUAbABsAHQAZQB4AHQAMQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9mdWxsdGV4dDEucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2Z1bGx0ZXh0MS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}} @book{ABC, Author = {Geurts, Leo and Meertens, Lambert and Pemberton, Steven}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Publisher = {Prentice-Hall}, Title = {The ABC Programmers Handbook}, Year = 1990} @article{PeytonJones86, Author = {Peyton~Jones, Simon L.~}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {CACM}, Pages = {118--122}, Title = {Parsing distfix operators}, Volume = 29, Year = 1986} @article{Steele99, Author = {Steele Jr., Guy L.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Journal of Higher-Order and Symbolic Computation}, Pages = {221--236}, Publisher = {Kluwer}, Title = {Growing a Language}, Volume = 12, Year = 1999} @techreport{cardelli94extensible, Author = {Cardelli, Luca and Matthes, Florian and Abadi, Mart\'{\i}n}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Digital Systems Research Center}, Number = {121}, Pages = {41}, Title = {Extensible Syntax with Lexical Scoping}, Year = {1994}} @book{AhoSethiUllman:compilers, Author = {V.~Aho, Alfred and Sethi, Ravi and D.~Ullman, Jeffrey}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Isbn = {0-201-10194-7}, Publisher = AW, Title = {Compilers -- Principles, Techniques and Tools}, Year = 1986} @book{burge:programming, Author = {Burge, W.H.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-08-13 08:49:44 +0200}, Isbn = {0-201-14450-6}, Publisher = AW, Title = {Recursive Programming Techniques}, Year = 1975} @inproceedings{ClaessenSands:sharing, Address = {Phuket, Thailand}, Author = {Claessen, Koen and Sands, David}, Booktitle = {{ASIAN}'99, 5th {A}sian Computing Science Conference}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {62--73}, Publisher = SV, Series = LNCS, Title = {Observable Sharing for Functional Circuit Description}, Url = {http://www.cs.chalmers.se/~dave/papers/observable-sharing.ps}, Volume = 1742, Year = 1999, Bdsk-Url-1 = {http://www.cs.chalmers.se/~dave/papers/observable-sharing.ps}} @manual{GillMarlow:happy, Author = {Gill, Andy and Marlow, Simon}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {University of {G}lasgow}, Title = {Happy -- The Parser Generator for {H}askell}, Url = {http://www.haskell.org/happy}, Year = 1995, Bdsk-Url-1 = {http://www.haskell.org/happy}} @unpublished{Clean2, Author = {Plasmeijer, Rinus and Eekelen, Marco van}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {\url{http://www.cs.kun.nl/~clean/}}, Title = {Clean Language Report Version 2.0}, Year = {2002}} @book{Haskell:report, Author = {Peyton~Jones, Simon}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Isbn = {0-521-82614-4}, Month = {April}, Note = {\url{http://www.haskell.org/report}}, Publisher = CUP, Title = {{H}askell 98 {L}anguage and {L}ibraries}, Year = 2003} @article{Hill:exprparser, Author = {Hill, Steve}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = JFP, Month = may, Number = 3, Pages = {445--463}, Title = {Combinators for Parsing Expressions}, Volume = 6, Year = 1996} @article{Hughes:arrows, Author = {Hughes, John}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {{S}cience of {C}omputer {P}rogramming}, Number = {1--3}, Pages = {67--111}, Title = {Generalising monads to arrows}, Url = {http://www.cs.chalmers.se/~rjmh/Papers/arrows.ps}, Volume = {37}, Year = {2000}, Bdsk-Url-1 = {http://www.cs.chalmers.se/~rjmh/Papers/arrows.ps}} @article{hughes:matters, Author = {Hughes, John}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {{C}omputer {J}ournal}, Number = {2}, Pages = {98--107}, Title = {{Why Functional Programming Matters}}, Volume = {32}, Year = {1989}} @article{Hutton:parsers, Author = {Hutton, Graham}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = JFP, Month = jul, Number = 3, Pages = {232--343}, Title = {Higher-Order Functions for Parsing}, Url = {http://www.cs.nott.ac.uk/Department/Staff/gmh/parsing.ps}, Volume = 2, Year = 1992, Bdsk-Url-1 = {http://www.cs.nott.ac.uk/Department/Staff/gmh/parsing.ps}} @techreport{HuttonMeijer:monparsers, Author = {Hutton, Graham and Meijer, Erik}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Department of Computer Science, University of Nottingham}, Number = {NOTTCS-TR-96-4}, Title = {Monadic Parser Combinators}, Url = {http://www.cs.nott.ac.uk/Department/Staff/gmh/monparsing.ps}, Year = 1996, Bdsk-Url-1 = {http://www.cs.nott.ac.uk/Department/Staff/gmh/monparsing.ps}} @inproceedings{KoopmanPlasmeijer:parsers, Author = {Koopman, Pieter and Plasmeijer, Rinus}, Booktitle = {Implementation of Functional Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Ftp = {ftp.cs.kun.nl/pub/CSI/SoftwEng.FunctLang/papers/koop98-EffCombParsIFL98.ps.gz}, Pages = {122--138}, Publisher = SV, Series = LNCS, Title = {Efficient Combinator Parsers}, Volume = 1595, Year = 1999} @article{PartridgeWright:predparsers, Author = {Partridge, Andrew and Wright, David}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = JFP, Month = mar, Number = 2, Pages = {355--364}, Title = {Predictive parser combinators need four values to report errors}, Volume = 6, Year = 1996} @phdthesis{bravenboer:thesis, Author = {Bravenboer, Martin}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2009-01-04 19:28:08 +0100}, Month = {January}, School = {Utrecht University}, Title = {Exercises in Free Syntax: Syntax Definition, Parsing and Assimilation of language Conglomerates}, Url = {http://www.igitur.nl/igiturarchief/arch_works.php?author=Bravenboer%2C+M.}, Year = 2008, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAdAAAAAAAdAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9waGQtdGhlc2lzLU1hcnRpbkJyYXZlbmJvZXIucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+jw6xAvwAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAw6wyrwAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwaGQtdGhlc2lzLU1hcnRpbkJyYXZlbmJvZXIucGRmAAAOAEAAHwBwAGgAZAAtAHQAaABlAHMAaQBzAC0ATQBhAHIAdABpAG4AQgByAGEAdgBlAG4AYgBvAGUAcgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIAPlVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9waGQtdGhlc2lzLU1hcnRpbkJyYXZlbmJvZXIucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEEUuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3BoZC10aGVzaXMtTWFydGluQnJhdmVuYm9lci5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACdAJ2AnsChAKPApMCoQKoArEC+QL+AwEDDgMTAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAyU=}, Bdsk-Url-1 = {http://www.igitur.nl/igiturarchief/arch_works.php?author=Bravenboer,+M.}} @phdthesis{Rojemo:thesis, Author = {R{\"o}jemo, Niklas}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, School = {Chalmers University of Technology}, Title = {Garbage collection and memory efficiency in lazy functional languages}, Url = {http://www.cs.chalmers.se/~rojemo/thesis.html}, Year = 1995, Bdsk-Url-1 = {http://www.cs.chalmers.se/~rojemo/thesis.html}} @phdthesis{Meijer:thesis, Author = {Meijer, Erik}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, School = {Nijmegen University}, Title = {Calculating Compilers}, Url = {http://www.research.microsoft.com/~emeijer}, Year = 1992, Bdsk-Url-1 = {http://www.research.microsoft.com/~emeijer}} @inproceedings{leijen99domain, Author = {Leijen, Daan and Meijer, Erik}, Booktitle = {Domain-Specific Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {109-122}, Title = {Domain specific embedded compilers}, Url = {citeseer.ist.psu.edu/leijen99domain.html}, Year = {1999}, Bdsk-Url-1 = {citeseer.ist.psu.edu/leijen99domain.html}} @inproceedings{haskelldb-improved, Author = {Bringert, Bj{\"}orn and H{\"}ockersten, Anders and Andersson, Conny and Andersson, Martin and Bergman, Mary and Blomqvist, Victor and Martin, Torbj{\"}orn}, Booktitle = {Haskell '04: Proceedings of the ACM SIGPLAN workshop on Haskell}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-11-28 14:59:31 +0100}, Doi = {http://doi.acm.org/10.1145/1017472.1017473}, Isbn = {1-58113-850-4}, Location = {Snowbird, Utah, USA}, Pages = {108--115}, Publisher = {ACM Press}, Title = {Student paper: HaskellDB improved}, Url = {http://haskelldb.sourceforge.net/haskelldb.pdf}, Year = {2004}, Bdsk-Url-1 = {http://haskelldb.sourceforge.net/haskelldb.pdf}, Bdsk-Url-2 = {http://doi.acm.org/10.1145/1017472.1017473}} @inproceedings{Wadler:listofsuc, Author = {Wadler, Philip}, Booktitle = {Functional Programming Languages and Computer Architecture}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {113--128}, Publisher = SV, Series = LNCS, Title = {How to replace failure with a list of successes}, Volume = 201, Year = 1985} @inproceedings{Wadler:compmonads, Author = {Wadler, Philip}, Booktitle = {Mathemetical Structures in Computer Science}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {Special issue of papers from the 6'th Conference on {L}isp and Functional Programming}, Pages = {461--493}, Title = {Comprehending {M}onads}, Volume = 2, Year = 1992} @inproceedings{Wadler:essence, Address = {Albuquerque, {N}ew {M}exico}, Author = {Wadler, Philip}, Booktitle = {19'th Symposium on Principles of Programming Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Month = jan, Pages = {1--14}, Publisher = ACM, Title = {The Essence of Functional Programming}, Url = {http://cm.bell-labs.com/cm/cs/who/wadler/topics/monads.html}, Year = 1992, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/who/wadler/topics/monads.html}} @inproceedings{PatersonRA:notation, Author = {Paterson, Ross}, Booktitle = {International Conference on Functional Programming}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Location = {Firenze, Italy}, Month = Sep, Pages = {229-240}, Publisher = {ACM Press}, Title = {A New Notation for Arrows}, Year = 2001} @inproceedings{Wadler:freetheorems, Address = {London}, Author = {Wadler, Philip}, Booktitle = {4'th International Conference on Functional Programming and Computer Architecture}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Queen, Mac}, Month = sep, Pages = {347-359}, Publisher = AW, Title = {Theorems for Free}, Url = {http://cm.bell-labs.com/cm/cs/who/wadler/topics/parametricity.html}, Year = {1989}, Bdsk-Url-1 = {http://cm.bell-labs.com/cm/cs/who/wadler/topics/parametricity.html}} @inproceedings{ShieldsMeijer:xmlambda, Author = {Shields, Mark and Meijer, Erik}, Booktitle = {POPL}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Title = {Type-Indexed Rows}, Year = 2001} @article{hindley69, Author = {Hindley, R.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Transactions of the American Mathematical Society}, Key = {hindley}, Month = Dec, Pages = {29--60}, Title = {The Principal Type Scheme of an Object in Combinatory Logic}, Volume = 146, Year = 1969} @article{milner78, Author = {Milner, R.A.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Journal of Computer and System Sciences}, Key = {milner}, Month = Dec, Number = 3, Pages = {348--375}, Title = {A Theory of Type Polymorphism in Programming}, Volume = 17, Year = 1978} @book{curry-etal:volII, Address = {Amsterdam}, Author = {Curry, H.B. and Hindley, J.R. and Seldin, J.P.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Key = {curry}, Publisher = {North-Holland Pub. Co.}, Title = {Combinatory Logic}, Volume = {II}, Year = 1972} @inproceedings{penfield:complex-apl, Address = {San Francisco}, Author = {Penfield, Jr., P.}, Booktitle = {APL '81 Conference Proceedings}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Month = sep, Pages = {248--256}, Title = {Principal Values and Branch Cuts in Complex {APL}}, Year = 1981} @book{peyton-jones:book, Address = {Englewood Cliffs, New Jersey}, Author = {Peyton~Jones, S.L.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Key = {peyton jones}, Publisher = {Prentice-Hall International}, Title = {The Implementation of Functional Programming Languages}, Year = 1987} @article{back78, Author = {Backus, J.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {CACM}, Key = {Backus}, Month = Aug, Number = 8, Pages = {613--641}, Title = {Can programming be liberated from the von {N}eumann style? {A} functional style and its algebra of programs}, Volume = 21, Year = 1978} @article{matula70, Author = {Matula, D.W.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {IEEE Transactions on Computers}, Key = {matula}, Month = aug, Number = 8, Pages = {681--692}, Title = {A formalization of floating-point numeric base conversion}, Volume = {C-19}, Year = 1970} @book{unicode, Author = {{Unicode Consortium}}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Publisher = {unicode.org}, Title = {Unicode Character Data and Mappings}} @techreport{libraries, Author = {Peterson (editor), J.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Yale University}, Month = may, Number = {YALEU/DCS/RR-1105}, Title = {The {H}askell {L}ibrary {R}eport}, Year = 1996} @techreport{tutorial, Author = {Hudak, P. and Fasel, J. and Peterson, J.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Yale University}, Month = may, Number = {YALEU/DCS/RR-901}, Title = {A Gentle Introduction to {H}askell}, Year = 1996} @inproceedings{damas-milner82, Address = {Albuquerque, N.M.}, Author = {Damas, L. and Milner, R.}, Booktitle = {Proceedings of the 9th {ACM} Symposium on Principles of Programming Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Key = {damas}, Month = jan, Pages = {207--212}, Title = {Principal type schemes for functional programs}, Year = 1982} @article{jones:cclasses, Author = {Jones, Mark P.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Journal = {Journal of Functional Programming}, Month = {January}, Number = {1}, Publisher = {Cambridge University Press}, Title = {A system of constructor classes: overloading and implicit higher-order polymorphism}, Volume = {5}, Year = {1995}} @inproceedings{Imperative-Functional-Programming, Author = {Peyton~Jones, S. and Wadler, P.}, Booktitle = {Proceedings 20th Symposium on Principles of Programming Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Month = Jan, Organization = ACM, Title = {Imperative Functional Programming}, Year = 1993} @inproceedings{wadler:classes, Address = {Austin, Texas}, Author = {Wadler, P. and Blott, S.}, Booktitle = {Proceedings of the 16th {ACM} Symposium on Principles of Programming Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Key = {wadler}, Month = Jan, Pages = {60--76}, Title = {How to Make {\em ad hoc} Polymorphism Less {\em ad hoc}}, Year = 1989} @inproceedings{SSK00a, Author = {Saraiva, Jo{\~a}o and Swierstra, Doaitse and Kuiper, Matthijs}, Booktitle = {9th International Conference on Compiler Construction - ETAPS'00}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {{David Watt}}, Month = mar, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{Functional Incremental Attribute Evaluation}}, Year = {2000}} @unpublished{SwieJeu, Author = {Jeuring, Johan T. and Swierstra, S. Doaitse}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Note = {Lecture Notes}, Title = {Grammars and Parsing}, Url = {www.cs.uu.nl/people/doaitse/Books/GramPars2000.pdf}, Bdsk-Url-1 = {www.cs.uu.nl/people/doaitse/Books/GramPars2000.pdf}} @inproceedings{Swie2000, Author = {Swierstra, S. Doaitse}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Hutton, Graham}, Series = {Haskell Workshop}, Title = {Parser Combinators: from Toys to Tools}, Url = {www.cs.uu.nl/people/doaitse/}, Year = 2000, Bdsk-Url-1 = {www.cs.uu.nl/people/doaitse/}} @techreport{PraSwiWid200001, Author = {Prasetya, I.S.W.B. and Swierstra, S.D. and Widjaja, B.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Insitution = {Department of Computer Science, Utrecht University}, Number = {2000-01}, Title = {Component-wise Formal Approach to Design Distributed Systems}, Type = {UU-CS}, Year = {2000}} @inproceedings{SchDijkSwi99, Author = {Schrage, M.M. and Dijksta, A. and Swierstra, S.D.}, Booktitle = {FIE 99, Frontiers in Education Conference}, City = {Dan Juan}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Isbn = {0-7803-5643-8}, Organization = {IEEE}, Title = {SKIT, An Open Architecture for Courseware Authoring}, Url = {http://fairway.ecn.purdue.edu/~fie/fie99/pages/index.htm}, Year = 1999, Bdsk-Url-1 = {http://fairway.ecn.purdue.edu/~fie/fie99/pages/index.htm}} @inproceedings{thiemann02washcgi, Author = {Thiemann, Peter}, Booktitle = {Practical Aspects of Declarative Languages}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {192-208}, Title = {{WASH}/{CGI}: Server-Side Web Scripting with Sessions and Typed, Compositional Forms}, Url = {http://citeseer.ist.psu.edu/cgi02washcgi.html}, Year = {2002}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/cgi02washcgi.html}} @inproceedings{SwieAzSar98Braga, Author = {Swierstra, S. Doaitse and Azero~Alcocer, Pablo R. and Saraiva, Jo{\~a}o A.}, Booktitle = {Advanced Functional Programming, Third International School, AFP'98}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2009-01-16 17:35:05 +0100}, Editor = {Swierstra, S. D. and Henriques, Pedro and Oliveira, Jos\'{e}}, Pages = {150-206}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Designing and Implementing Combinator Languages}, Volume = {1608}, Year = {1999}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1mdWxsdGV4dDAucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWiB/yRKyIAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAyRKkEAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpmdWxsdGV4dDAucGRmAAAOABwADQBmAHUAbABsAHQAZQB4AHQAMAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9mdWxsdGV4dDAucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2Z1bGx0ZXh0MC5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}} @inproceedings{LeijenMeijer:dsec, Address = {Austin, Texas}, Author = {Leijen, Daan and Meijer, Erik}, Booktitle = {2nd {USENIX} Conference on Domain Specific Languages ({DSL'99})}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Month = oct, Note = {Also appeared in {ACM SIGPLAN} {N}otices 35, 1, (Jan. 2000)}, Pages = {109-122}, Title = {Domain Specific Embedded Compilers}, Year = 1999} @misc{ghc, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Howpublished = {{Available from: {\tt http://www.haskell.org/ghc/}}}, Title = {Glasgow Haskell Compiler}} @misc{happy, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Howpublished = {{Available from: {\tt http://www.haskell.org/happy/}}}, Title = {Happy, The Parser Generator for Haskell}} @inproceedings{VosSw97, Author = {Vos, T.E.J. and Swierstra, S.D.}, Booktitle = {{Proceedings of the 23rd International Workshop on Grpah-Theoretic Concepts in Computer Science}}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {342-353}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {{Make your enemies transparent}}, Volume = {1335}, Year = {1997}} @proceedings{Swie96PLILP, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Kuchen, Herbert and Swierstra, S. Doaitse}, Publisher = Springer-Verlag, Series = {LNCS}, Title = {Proceedings of the the 8th International PLILP Symposium {\em Programming Languages: Implementations, Logics and Programs}}, Volume = {1140}, Year = {1996}} @inproceedings{JeurSwie95, Address = {New-York}, Author = {Jeuring, J. and Swierstra, S.D.}, Booktitle = {Proceedings Functional programming languages and computer architecture, FPCA'95}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Pages = {259-269}, Publisher = ACM, Series = {LNCS}, Title = {Constructing functional programs for grammar analysis problems}, Volume = {788}, Year = {1995}} @inproceedings{JeurSwie94, Address = {Berlin}, Author = {Jeuring, J. and Swierstra, S.D.}, Booktitle = {Proceedings Programming Languages and Systems-ESOP '94}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Editor = {Sannella, D.}, Note = {UU-CS-1994-01}, Pages = {317--332}, Publisher = {Springer-Verlag}, Series = {LNCS}, Title = {Bottom-up grammar analysis --- a functional formulation ---}, Volume = {788}, Year = {1994}} @techreport{LentSwie92a, Author = {Lentfert, P.J.A. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:22:15 +0200}, Date-Modified = {2008-07-15 17:22:15 +0200}, Institution = {Utrecht University}, Month = {August}, Note = {Also in: J.L.G.\ Dietz (Ed). {\it Proceedings CSN92.} Utrecht, November 4--5, 1992.}, Number = {RUU-CS-92-25}, Title = {Towards the Formal Design of Self-Stabilizing Distributed Algorithms}, Year = {1992}} @techreport{Swie1979a, Author = {Swierstra, S. D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Twente University of Technology}, Title = {Another Approach to Type Checking}, Year = {1979}} @phdthesis{Swie1981, Author = {Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Month = jan, School = {Twente University of Technology}, Title = {Lawine: an Experiment in Language and Machine Design}, Year = 1981} @techreport{RaDijSwi1985, Author = {Raaf, A.J. de and Dijkstra, A. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Department of Computer Science}, Number = {85}, Title = {A LAN with Real-Time, Facilities Based on OSI-concepts,}, Type = {RUU-CS}, Year = {1985}} @inproceedings{KuipSwie87, Author = {Kuiper, M. F. and Swierstra, S. D.}, Booktitle = {Computing Science in the Netherlands CSN'87}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Month = nov, Title = {Using Attribute Grammars to Derive Efficient Functional Programs}, Url = {{ftp://ftp.cs.ruu.nl/pub/RUU/CS/techreps/CS-1986/1986-16.ps.gz}}, Year = {1987}, Bdsk-Url-1 = {%7Bftp://ftp.cs.ruu.nl/pub/RUU/CS/techreps/CS-1986/1986-16.ps.gz%7D}} @techreport{LentSwieUitt90a, Address = {P.O.Box 80.089, 3508 TB UTRECHT, the Netherlands}, Author = {Lentfert, P. J. A. and Swierstra, S. D. and Uittenbogaard, A. H.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Department of Computer Science}, Number = {90-30}, Title = {Distributed incremental maximum finding in hierarchically divided graphs}, Type = {RUU-CS}, Year = {1990}} @inproceedings{VogtSwieKuip91, Author = {Vogt, H. H. and Swierstra, S.D. and Kuiper, M.F.}, Booktitle = {Programming language Implementation and Logic Programming}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Editor = {Maluszinsky, J. and Wirsing, M.}, Pages = {231-242}, Series = {LNCS}, Title = {Efficient Incremental Evaluation of Higher Order Attribute Grammars}, Volume = {528}, Year = {1991}} @inproceedings{PeSw92, Author = {Pennings, M. and Swierstra, S. D. and Vogt, H. H.}, Booktitle = {Programming Language Implementation and Logic Programming}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Editor = {Bruynooghe, M. and Wirsing, M.}, Pages = {130-144}, Publisher = {Springer}, Series = {LNCS}, Title = {Using Cached Functions and Constructors for Incremental Attribute Evaluation}, Volume = {631}, Year = {1992}} @article{LentSwie93b, Author = {Lentfert, P. J. A. and Swierstra, S. D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Journal = {Formal Aspects of Computing}, Number = {1}, Pages = {21-60}, Title = {Distributed Maximum Maintenance on Hierarchically Divided Graphs}, Volume = {5}, Year = {1993}} @article{Pra93VarAccess1, Author = {Prasetya, I.S.W.B.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Editor = {Joyce, J.J. and Seger, C.J.H.}, Journal = {Lecture Notes in Computer Science}, Pages = {324-337}, Pubcat = {article}, Publisher = {Springer-Verlag}, Title = {Formalization of Variables Access Constraints to Support Compositionality of Liveness Properties}, Volume = 780, Year = 1993} @article{Pra94SubstRule, Author = {Prasetya, I.S.W.B.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Journal = {Formal Aspects of Computing}, Pages = {466-470}, Pubcat = {journal}, Title = {Error in the {UNITY} Substitution Rule for Subscripted Operators}, Volume = 6, Year = 1994} @techreport{Pra95SelfStab, Author = {Prasetya, I.S.W.B.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}.}, Number = {UU-CS-1995-07}, Pubcat = {published techreport}, Title = {Formal design of self-stabilizing programs}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Year = 1995, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @phdthesis{Pra95, Author = {Prasetya, I. S. W. B.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Note = {Download: {\tt www.cs.uu.nl/library/docs/theses.html}}, Pubcat = {phdthesis}, School = {Inst. of Information and Comp. Science, Utrecht Univ.}, Title = {Mechanically Supported Design of Self-stabilizing Algorithms}, Url = {{www.cs.uu.nl/library/docs/theses.html}}, Year = 1995, Bdsk-Url-1 = {%7Bwww.cs.uu.nl/library/docs/theses.html%7D}} @misc{AzerSwie98, Author = {Azero, P. and Swierstra, S. D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Howpublished = {{Available from: {\tt http://www.cs.ruu.nl/groups/ST/Software/PP/}}}, Month = apr, Title = {Optimal Pretty-Printing Combinators}, Year = 1998} @book{AFP3, Author = {Swierstra, D. and Henriques, P. and Oliveira, J.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Isbn = {9 783540 662419}, Number = {1608}, Publisher = {Springer}, Series = {LNCS}, Title = {Advanced Functional programming, Third International School, AFP'98}, Year = {1999}} @inproceedings{jeuringswierstra99, Author = {Jeuring, Johan and Swierstra, S. Doaitse}, Booktitle = {Proceedings Workshop on Functional and Declarative Programming in Education, FDPE'99}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Editor = {Felleisen, M. and Hanus, M. and Thompson, S.}, Note = {Rice COMP TR99-346}, Pages = {7--12}, Title = {Advanced programming concepts in a course on grammars and parsing}, Year = {1999}} @techreport{DijkstaSchrageSwi99, Author = {Dijkstra, Atze and Schrage, Martijn and Swierstra, Doaitse}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Insitution = {Department of Computer Science, Utrecht University}, Note = {http://fairway.ecn.purdue.edu/~fie/fie99/pages/index.htm}, Number = {1999-26}, Title = {SKIT, An Open Architecture for Courseware Authoring}, Type = {UU-CS}, Year = {1999}} @techreport{PS00FaultTolerance, Author = {Prasetya, I.S.W.B. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Note = {Download: {\tt www.cs.uu.nl/staff/wishnu.html}}, Number = {UU-CS-2000-02}, Pubcat = {published techreport}, Title = {Factorizing Fault Tolerance}, Url = {{http://www.cs.uu.nl/research/techreps/aut/wishnu.html}}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2000/2000-02.pdf}}, Year = 2000, Bdsk-Url-1 = {%7Bhttp://www.cs.uu.nl/research/techreps/aut/wishnu.html%7D}} @article{MoorBackSwie, Author = {Oege de Moor, Kevin Backhouse and Swierstra, S. Doaitse}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Editor = {Mernik, Marjan and Parigot, Didier}, Issn = {ISSN 0350-5596}, Journal = {Informatica: An International Journal of Computing and Informatics}, Month = {June}, Note = {Special Issue: Attribute grammars and Their Applications}, Number = 2, Pages = {329-341}, Title = {First Class Attribute Grammars}, Volume = 24, Year = 2000, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXwAAAAAAXwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIApnY3NlOTkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Ixct2dAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxctoZAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA2TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpnY3NlOTkucGRmAA4AFgAKAGcAYwBzAGUAOQA5AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgApVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDAuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACIAIiAicCMAI7Aj8CTQJUAl0CkAKVApgCpQKqAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAArw=}, Bdsk-File-2 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAXwAAAAAAXwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIApnY3NlOTkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+Ixct2dAAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxctoZAAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA2TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpnY3NlOTkucGRmAA4AFgAKAGcAYwBzAGUAOQA5AC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgApVXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDAuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL2djc2U5OS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACIAIiAicCMAI7Aj8CTQJUAl0CkAKVApgCpQKqAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAArw=}, Bdsk-File-3 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAbQAAAAAAbQAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBhGaXJzdC1DbGFzcy1XQUdBMjAwMC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9ttcbnvQAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAtcbLnQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBETWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpGaXJzdC1DbGFzcy1XQUdBMjAwMC5wZGYADgAyABgARgBpAHIAcwB0AC0AQwBsAGEAcwBzAC0AVwBBAEcAQQAyADAAMAAwAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA3VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL0ZpcnN0LUNsYXNzLVdBR0EyMDAwLnBkZgAAEwABLwAAFQACAA7//wAAgAXSHB0eH1gkY2xhc3Nlc1okY2xhc3NuYW1lox8gIV1OU011dGFibGVEYXRhVk5TRGF0YVhOU09iamVjdF8QPi4uLy4uLy4uLy4uLy4uLy4uLy4uL0RvY3VtZW50cy9QYXBlcnMvRmlyc3QtQ2xhc3MtV0FHQTIwMDAucGRm0hwdJCWiJSFcTlNEaWN0aW9uYXJ5EgABhqBfEA9OU0tleWVkQXJjaGl2ZXIACAARABYAHwAoADIANQA6ADwARQBLAFIAXQBlAGwAbwBxAHMAdgB4AHoAfACGAJMAmACgAlgCWgJfAmgCcwJ3AoUCjAKVAtYC2wLeAusC8AAAAAAAAAIBAAAAAAAAACgAAAAAAAAAAAAAAAAAAAMC}} @techreport{SchJeuSwi2002-30, Author = {Schrage, M. and Jeuring, J.T. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Insitution = {Department of Computer Science, Utrecht University}, Number = {2002-30}, Title = {Combinators for layered software architectures}, Type = {UU-CS}, Url = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-030.pdf}, Year = {2002}, Bdsk-Url-1 = {http://www.cs.uu.nl/pub/RUU/CS/techreps/CS-2002/2002-030.pdf}} @article{PASembedding02, Author = {Prasetya, I.S.W.B. and Azurat, A. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Journal = {Jurnal Ilmu Komputer dan Teknologi Informasi}, Number = 1, Pubcat = {journal}, Title = {Embedding Programming Logics in {HOL} Theorem Prover}, Url = {{http://www.icis.or.id/journal/j-II-01-mei02-abstrak/p3.html}}, Urlinfo = {{http://www.icis.or.id/journal/}}, Volume = 2, Year = 2002, Bdsk-Url-1 = {%7Bhttp://www.icis.or.id/journal/j-II-01-mei02-abstrak/p3.html%7D}} @article{PS02FaultTolerance, Author = {Prasetya, I.S.W.B. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Journal = {Journal of Theoretical Computer Science, Special Edition on Dependable Computing}, Month = {october}, Number = 2, Pages = {1201-1222}, Pubcat = {journal}, Publisher = {Elsevier}, Title = {Factorizing Fault Tolerance}, Volume = 290, Year = 2002} @techreport{heeren2002improving, Address = {University Utrecht, Netherlands}, Author = {Heeren, Bastiaan and Jeuring, Johan and Swierstra, S. Doaitse and Alcocer, Pablo Azero}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Institute of Information and Computing Science}, Month = {February}, Note = {Technical Report}, Number = {UU-CS-2002-009}, Pubcat = {techreport}, Title = {Improving type-error messages in functional languages}, Year = {2002}} @inproceedings{HHS:scripting, Address = {New York}, Author = {Heeren, Bastiaan and Hage, Jurriaan and Swierstra, S. Doaitse}, Booktitle = {Eighth ACM Sigplan International Conference on Functional Programming}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Pages = {3 -- 13}, Pubcat = {conference}, Publisher = {ACM Press}, Title = {Scripting the type inference process}, Year = {2003}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAYgAAAAAAYgAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIA1wMy1oZWVyZW4ucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ+TxsLecVBERiBDQVJPAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxsLCUQAAAAEAEAANnCAADTWSAA00iwAAAGEAAgA5TWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpwMy1oZWVyZW4ucGRmAAAOABwADQBwADMALQBoAGUAZQByAGUAbgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIALFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9wMy1oZWVyZW4ucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDMuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL3AzLWhlZXJlbi5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACLAIuAjMCPAJHAksCWQJgAmkCnwKkAqcCtAK5AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAss=}} @inproceedings{dijkstra04thag, Author = {Dijkstra, Atze and Swierstra, S. Doaitse}, Booktitle = {Advanced Functional Programming Summerschool}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2009-08-10 17:18:07 +0200}, Eprint = {papers/dijkstra04thag.pdf}, Howpublished = {\verb|http://dx.doi.org/10.1007/11546382_1|}, Number = {3622}, Publisher = {Springer-Verlag}, Series = {Lecture Notes in Computer Science}, Title = {{Typing Haskell with an Attribute Grammar}}, Volume = {3622}, Year = {2004}} @techreport{EHC12004, Author = {Dijkstra, A. and Swierstra, S.D.}, Date-Added = {2008-07-15 17:18:21 +0200}, Date-Modified = {2008-07-15 17:18:21 +0200}, Institution = {Inst. of Information and Comp. Science, Utrecht Univ.}, Number = {UU-CS-2004-037}, Pubcat = {techreport}, Title = {Typing Haskell with an Attribute Grammar (Part I)}, Urlpdf = {{http://archive.cs.uu.nl/pub/RUU/CS/techreps/CS-2004/2004-037.pdf}}, Year = 2004} @inproceedings{peytonjones99semantics, Author = {Jones, Simon L. Peyton and Reid, Alastair and Henderson, Fergus and Hoare, C. A. R. and Marlow, Simon}, Booktitle = {{SIGPLAN} Conference on Programming Language Design and Implementation}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/peytonjones99semantics.ps.gz}, Pages = {25--36}, Title = {A Semantics for Imprecise Exceptions}, Url = {http://citeseer.ist.psu.edu/article/peytonjones98semantics.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/article/peytonjones98semantics.html}} @inproceedings{marlow01asynchronous, Author = {Marlow, Simon and Jones, Simon L. Peyton and Moran, Andrew and Reppy, John H.}, Booktitle = {{SIGPLAN} Conference on Programming Language Design and Implementation}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/marlow00asynchronous.ps.gz}, Pages = {274-285}, Title = {Asynchronous Exceptions in Haskell}, Url = {http://citeseer.ist.psu.edu/article/marlow00asynchronous.html}, Year = {2001}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/article/marlow00asynchronous.html}} @misc{marktoberdorf, Author = {Jones, Simon Peyton}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/mark.pdf}, Title = {Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell}, Url = {http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/}, Year = {2002}, Bdsk-Url-1 = {http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/}} @inproceedings{comserve, Author = {Sigbjorn Finne, Daan Leijen, Erik Meijer and Jones, Simon Peyton}, Booktitle = {Proceedings of the fourth ACM SIGPLAN international conference on Functional programming}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/comserve.ps.gz}, Pages = {114--125}, Title = {Calling hell from heaven and heaven from hell}, Url = {http://www.cs.uu.nl/~daan/download/papers/comserve.ps}, Year = {1999}, Bdsk-Url-1 = {http://www.cs.uu.nl/~daan/download/papers/comserve.ps}} @misc{chakravarty03hask-ffi, Author = {Chakravarty, Manuel}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/chakravarty03hask-ffi.ps.gz}, Title = {The Haskell 98 Foreign Function Interface 1.0: An Addendum to the Haskell 98 Report}, Url = {http://www.cse.unsw.edu.au/~chak/haskell/ffi/}, Year = {2003}, Bdsk-Url-1 = {http://www.cse.unsw.edu.au/~chak/haskell/ffi/}} @inproceedings{jones96concurrent, Address = {St.\ Petersburg Beach, Florida}, Author = {Jones, Simon Peyton and Gordon, Andrew and Finne, Sigbjorn}, Booktitle = {Conference Record of {POPL} '96: The $23^{\mathrm{rd}}$ {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/peytonjones96concurrent.ps.gz}, Month = {21--24}, Pages = {295--308}, Title = {Concurrent {Haskell}}, Url = {http://citeseer.ist.psu.edu/jones96concurrent.html}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/jones96concurrent.html}} @inproceedings{jones93imperative, Author = {Jones, Simon L. Peyton and Wadler, Philip}, Booktitle = {Conference record of the Twentieth Annual {ACM} {SIGPLAN}-{SIGACT} Symposium on Principles of Programming Languages, Charleston, South Carolina}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/peytonjones93imperative.ps.gz}, Pages = {71--84}, Title = {Imperative Functional Programming}, Url = {http://citeseer.ist.psu.edu/peytonjones93imperative.html}, Year = {1993}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/peytonjones93imperative.html}} @inproceedings{jones91unboxed, Address = {Cambridge, Massachussets, USA}, Author = {{Peyton Jones}, Simon L. and Launchbury, J.}, Booktitle = {Proceedings of the Conference on Functional Programming and Computer Architecture}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Editor = {Hughes, J.}, Eprint = {papers/jones91unboxed.ps.gz}, Month = {26--28 August}, Pages = {636--666}, Publisher = {Springer-Verlag {LNCS}523}, Title = {Unboxed Values as First Class Citizens in a Non-strict Functional Language}, Url = {http://citeseer.ist.psu.edu/jones91unboxed.html}, Year = {1991}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/jones91unboxed.html}} @inproceedings{boquist95interprocedural, Author = {Boquist, Urban}, Booktitle = {Functional Programming Languages and Computer Architecture}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/boquist95interprocedural.ps.gz}, Pages = {270--281}, Title = {Interprocedural Register Allocation for Lazy Functional Languages}, Url = {http://citeseer.ist.psu.edu/boquist95interprocedural.html}, Year = {1995}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/boquist95interprocedural.html}} @inproceedings{boquist96grin, Author = {Boquist, Urban and Johnsson, Thomas}, Booktitle = {Implementation of Functional Languages}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/boquist96grin.ps.gz}, Pages = {58--84}, Title = {The {GRIN} Project: A Highly Optimising Back End for Lazy Functional Languages}, Url = {http://citeseer.ist.psu.edu/boquist96grin.html}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/boquist96grin.html}} @phdthesis{boquist99phd, Author = {Boquist, Urban}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/boquist99phd.ps.gz}, School = {Chalmers University of Technology and Goteborg University}, Title = {Code Optimisation Techniques for Lazy Functional Languages}, Url = {http://www.cs.chalmers.se/~boquist/phd/index.html}, Year = {1999}, Bdsk-Url-1 = {http://www.cs.chalmers.se/~boquist/phd/index.html}} @book{joneslins96gc, Author = {Jones, Richards and Lins, Rafael}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Publisher = {John Wiley \& Sons Ltd.}, Title = {Garbage Collection Algorithms for Automatic Dynamic Memory Management}, Year = {1996}} @article{sparcv8, Author = {Inc., Sparc International}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {Sparc Architecture V8}, Url = {http://www.sparc.com/standards/V8.pdf}, Bdsk-Url-1 = {http://www.sparc.com/standards/V8.pdf}} @misc{graphviz, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {Graphviz - Graph Visualization Software}, Url = {http://www.graphviz.org/}, Bdsk-Url-1 = {http://www.graphviz.org/}} @misc{ehc, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {Essential Haskell Compiler}, Url = {http://www.cs.uu.nl/wiki/Ehc}, Bdsk-Url-1 = {http://www.cs.uu.nl/wiki/Ehc}} @misc{mlrisc, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {MLRISC}, Url = {http://cs1.cs.nyu.edu/leunga/www/MLRISC/Doc/html/index.html}, Bdsk-Url-1 = {http://cs1.cs.nyu.edu/leunga/www/MLRISC/Doc/html/index.html}} @misc{vpo, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {Zephyr Very Portable Optimizer (VPO)}, Url = {http://www.cs.virginia.edu/zephyr/vpo/}, Bdsk-Url-1 = {http://www.cs.virginia.edu/zephyr/vpo/}} @misc{gcc, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {GNU Compiler Collection}, Url = {http://gcc.gnu.org/}, Bdsk-Url-1 = {http://gcc.gnu.org/}} @article{jones98portable, Author = {Jones, Simon Peyton and Nordin, Thomas and Oliva, Dino}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/pal-ifl.ps.gz}, Journal = {Lecture Notes in Computer Science}, Title = {C-\/-: {A} Portable Assembly Language}, Url = {http://citeseer.ist.psu.edu/341046.html}, Volume = {1467}, Year = {1998}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/341046.html}} @inproceedings{jones99portable, Author = {Jones, Simon Peyton and Ramsey, Norman and Reig, Fermin}, Booktitle = {International Conference on Principles and Practice of Declarative Programming}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/ppdp.ps.gz}, Title = {C-\/-: a Portable Assembly Language that Supports Garbage Collection}, Url = {http://citeseer.ist.psu.edu/239439.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/239439.html}} @article{ramsey00single, Author = {Ramsey, Norman and Jones, Simon Peyton}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/c--exn.ps.gz}, Journal = {ACM SIG{\-}PLAN Notices}, Number = {5}, Pages = {285--298}, Title = {A single intermediate language that supports multiple implementations of exceptions}, Url = {http://citeseer.ist.psu.edu/ramsey00single.html}, Volume = {35}, Year = {2000}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/ramsey00single.html}} @misc{ramsey00featherweight, Author = {Ramsey, N. and Jones, S.}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/c--con.ps.gz}, Text = {Unpublished paper}, Title = {Featherweight concurrency in a portable assembly language}, Url = {http://www.cminusminus.org/abstracts/c--con.html}, Year = {2000}, Bdsk-Url-1 = {http://www.cminusminus.org/abstracts/c--con.html}} @inproceedings{jones96compiling, Author = {Jones, Simon L. Peyton}, Booktitle = {European Symposium on Programming}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/peytonjones96compiling.ps.gz}, Pages = {18-44}, Title = {Compiling Haskell by Program Transformation: A Report from the Trenches}, Url = {http://citeseer.ist.psu.edu/peytonjones96compiling.html}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/peytonjones96compiling.html}} @article{faxen02static, Author = {Faxen, K.}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/faxen98static.ps.gz}, Journal = {Journal of Functional Programming}, Month = {July}, Number = {4\&5}, Pages = {295-357}, Title = {A Static Semantics for Haskell}, Url = {http://citeseer.ist.psu.edu/faxen98static.html}, Volume = {12}, Year = {2002}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/faxen98static.html}} @article{jones92implementing, Author = {Jones, Simon L. Peyton}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/peytonjones92implementing.ps.gz}, Journal = {Journal of Functional Programming}, Number = {2}, Pages = {127-202}, Title = {Implementing Lazy Functional Languages on Stock Hardware: The Spineless Tagless G-Machine}, Url = {citeseer.ist.psu.edu/peytonjones92implementing.html}, Volume = {2}, Year = {1992}, Bdsk-Url-1 = {citeseer.ist.psu.edu/peytonjones92implementing.html}} @techreport{douencetaxonomy2, Author = {Douence, Remi and Fradet, Pascal}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/douence96taxonomy2.ps.gz}, Institution = {INRIA}, Number = {RR-3050}, Title = {A Taxonomy of Functional Language Implementations Part {II} : Call-by-Name, Call-by-Need and Graph Reduction}, Url = {http://citeseer.ist.psu.edu/douence96taxonomy.html}, Year = {1996}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/douence96taxonomy.html}} @article{sestoft97deriving, Author = {Sestoft, Peter}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/sestoft97deriving.ps.gz}, Journal = {Journal of Functional Programming}, Number = {3}, Pages = {231-264}, Title = {Deriving a Lazy Abstract Machine}, Url = {http://citeseer.ist.psu.edu/sestoft97deriving.html}, Volume = {7}, Year = {1997}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/sestoft97deriving.html}} @inproceedings{koopman89cgr, Author = {P. J. Koopman, Jr. and Lee, P.}, Booktitle = {PLDI '89: Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Doi = {http://doi.acm.org/10.1145/73141.74828}, Isbn = {0-89791-306-X}, Location = {Portland, Oregon, United States}, Pages = {110--119}, Publisher = {ACM Press}, Title = {A fresh look at combinator graph reduction}, Url = {http://portal.acm.org/citation.cfm?id=74828}, Year = {1989}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=74828}, Bdsk-Url-2 = {http://doi.acm.org/10.1145/73141.74828}} @article{johnsson84efficient, Author = {Johnsson, T.}, Booktitle = {Proceedings of the {ACM} {SIGPLAN}'84 Symposium on Compiler Con struction}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/johnsson84efficient.ps.gz}, Journal = {SIGPLAN Notices}, Month = {June}, Number = {6}, Pages = {58--69}, Publisher = {ACM Press}, Title = {Efficient Compilation of Lazy Evaluation}, Url = {http://citeseer.ist.psu.edu/johnsson84efficient.html}, Volume = {19}, Year = {1984}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/johnsson84efficient.html}} @article{cheadle20non-stop, Address = {New York, NY, USA}, Author = {Cheadle and Field, A. J. and Marlow, S. and Jones, S. L. Peyton and While, R. L.}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:23:27 +0200}, Doi = {http://doi.acm.org/10.1145/357766.351265}, Issn = {0362-1340}, Journal = {SIGPLAN Not.}, Number = {9}, Pages = {257--267}, Publisher = {ACM Press}, Title = {Non-stop Haskell}, Url = {http://portal.acm.org/citation.cfm?id=357766.351265}, Volume = {35}, Year = {2000}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=357766.351265}, Bdsk-Url-2 = {http://doi.acm.org/10.1145/357766.351265}} @misc{jones99secrets, Author = {Jones, S. and Marlow, S.}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Text = {Simon L. Peyton Jones and Simon Marlow. Secrets of the Glasgow Haskell compiler inliner. Submitted to IDL'99, July 1999.}, Title = {Secrets of the Glasgow Haskell compiler inliner}, Url = {http://citeseer.ist.psu.edu/jones99secrets.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/jones99secrets.html}} @article{jones92tail, Author = {Jones, Richard E.}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/jones92tail.ps.gz}, Journal = {Journal of Functional Programming}, Month = {January}, Number = {1}, Pages = {73--79}, Title = {Tail recursion without Space Leaks}, Url = {http://citeseer.ist.psu.edu/jones91tail.html}, Volume = {2}, Year = {1992}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/jones91tail.html}} @article{harris05multiproc, Author = {Tim Harris, Simon Marlow and Jones, Simon Peyton}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/harris05multiproc.pdf}, Month = {September}, Title = {Haskell on a Shared-Memory Multiprocessor}, Url = {http://research.microsoft.com/Users/simonpj/papers/parallel/}, Year = {2005}, Bdsk-Url-1 = {http://research.microsoft.com/Users/simonpj/papers/parallel/}} @article{cytron91ssa, Address = {New York, NY, USA}, Author = {Cytron, Ron and Ferrante, Jeanne and Rosen, Barry K. and Wegman, Mark N. and Zadeck, F. Kenneth}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Doi = {http://doi.acm.org/10.1145/115372.115320}, Issn = {0164-0925}, Journal = {ACM Trans. Program. Lang. Syst.}, Number = {4}, Pages = {451--490}, Publisher = {ACM Press}, Title = {Efficiently computing static single assignment form and the control dependence graph}, Url = {http://doi.acm.org/10.1145/115372.115320}, Volume = {13}, Year = {1991}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/115372.115320}} @mastersthesis{baueran2003, Address = {Munich, Germany}, Author = {Bauer, Andreas}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, School = {Department of Informatics, Munich University of Technology}, Title = {{Compilation of Functional Programming Languages using GCC\,---\,Tail Calls}}, Url = {http://home.in.tum.de/~baueran/thesis/}, Year = {2003}, Bdsk-Url-1 = {http://home.in.tum.de/~baueran/thesis/}} @techreport{ekman04rerag, Author = {Ekman, Torbj{\"}orn}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/ekamn04rerag.pdf}, Institution = {Deptartment of Computer Science}, Issn = {1652-4691}, Note = {LU-CS-LIC-2004:3}, School = {Lund University}, Title = {Rewritable Reference Attribute Grammars}, Url = {http://curry.ludat.lth.se/cs/events/Entries/2004051109531084265617/lucasView\_html}, Year = {2004}, Bdsk-Url-1 = {http://curry.ludat.lth.se/cs/events/Entries/2004051109531084265617/lucasView%5C_html}} @misc{jastadd, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {JastAdd - a Java-based, aspect oriented compiler compiler system}, Url = {http://jastadd.cs.lth.se/web/}, Bdsk-Url-1 = {http://jastadd.cs.lth.se/web/}} @misc{aspectj, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {AspectJ - an aspect-oriented extension to Java}, Url = {http://eclipse.org/aspectj/}, Bdsk-Url-1 = {http://eclipse.org/aspectj/}} @misc{uuag, Author = {Swierstra, S. Doaitse and Baars, Arthur and L{\"o}h, Andres and Middelkoop, Arie}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2009-01-16 16:39:32 +0100}, Title = {{UUAG}- {U}trecht {U}niversity {A}ttribute {G}rammar {S}ystem}, Url = {http://www.cs.uu.nl/wiki/HUT/AttributeGrammarSystem}, Bdsk-Url-1 = {http://www.cs.uu.nl/wiki/HUT/AttributeGrammarSystem}} @misc{stratego, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Title = {Stratego}, Url = {http://www.program-transformation.org/Stratego/WebHome}, Bdsk-Url-1 = {http://www.program-transformation.org/Stratego/WebHome}} @techreport{haskell98, Author = {S.~L.~Peyton~Jones and J.~Hughes and L.~Augustsson and D.~Barton and B.~Boutel and W.~Burton and J.~Fasel and K.~Hammond and R.~Hinze and P.~Hudak and T.~Johnsson and M.~Jones and J.~Launchbury and Meijer, E. and J.~Peterson and A.~Reid and C.~Runciman and P.~Wadler}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Month = {feb}, Title = {Haskell 98: A Non-strict, Purely Functional Language}, Url = {http://www.haskell.org/definition/}, Year = {1999}, Bdsk-Url-1 = {http://www.haskell.org/definition/}} @book{ppa99, Author = {Flemming Nielson, Hanne R. Nielson, Chris Hankin}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Publisher = {Springer-Verlag}, Title = {Principles of Program Analysis}, Year = {1999}} @misc{jones99lightweight, Author = {Jones, M. and Jones, S.}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/jones99lightweight.pdf}, Text = {In Haskell Workshop, Paris, September 1999.}, Title = {Lightweight Extensible Records for Haskell}, Url = {citeseer.ist.psu.edu/jones99lightweight.html}, Year = {1999}, Bdsk-Url-1 = {citeseer.ist.psu.edu/jones99lightweight.html}} @inproceedings{jones99stretching, Author = {Jones, Simon L. Peyton and Marlow, Simon and Elliott, Conal}, Booktitle = {Implementation of Functional Languages}, Date-Added = {2008-07-15 17:11:49 +0200}, Date-Modified = {2008-07-15 17:11:49 +0200}, Eprint = {papers/peytonjones99stretching.pdf}, Pages = {37-58}, Title = {Stretching the Storage Manager: Weak Pointers and Stable Names in Haskell}, Url = {http://citeseer.ist.psu.edu/peytonjones99stretching.html}, Year = {1999}, Bdsk-Url-1 = {http://citeseer.ist.psu.edu/peytonjones99stretching.html}} @article{LPJ03, Author = {L{\"a}mmel, Ralf and {Peyton Jones}, Simon}, Journal = {ACM SIG{\-}PLAN Notices}, Month = mar, Note = {Proceedings of the ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI~2003)}, Number = {3}, Pages = {26--37}, Publisher = {ACM Press}, Title = {Scrap your boilerplate: a practical design pattern for generic programming}, Volume = {38}, Year = {2003}} @inproceedings{syb2, Author = {L{\"a}mmel, Ralf and {Peyton Jones}, Simon}, Booktitle = {{Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 2004)}}, Location = {Snow Bird, UT, USA}, Pages = {244--255}, Publisher = {ACM Press}, Title = {{Scrap more boilerplate: reflection, zips, and generalised casts}}, Year = {2004}} @misc{ticket, Author = {Petruzza, JC and Claessen, Koen and Peyton~Jones, Simon}, Note = {GHC Ticket 1544}, Title = {Derived Read instances for recursive datatypes with infix constructors are too inefficient}, Url = {http://hackage.haskell.org/trac/ghc/ticket/1544}, Bdsk-Url-1 = {http://hackage.haskell.org/trac/ghc/ticket/1544}} @inproceedings{perms2001, Author = {Baars, A.I. and L{\"o}h, A. and Swierstra, S.D.}, Booktitle = {Proceedings of the 2001 {ACM} {SIGPLAN} {H}askell {W}orkshop}, Editor = {Hinze, R.}, Pages = {171--182}, Pubcat = {workshop proceedings}, Publisher = {Elsevier}, Title = {Parsing Permutation Phrases}, Year = {2001}} @article{1030338, Address = {New York, NY, USA}, Author = {Baars, Arthur I. and L{\"o}h, Andres and Swierstra, S. Doaitse}, Date-Modified = {2008-12-01 21:44:00 +0100}, Doi = {http://dx.doi.org/10.1017/S0956796804005143}, Issn = {0956-7968}, Journal = {J. Funct. Program.}, Number = {6}, Pages = {635--646}, Publisher = {Cambridge University Press}, Title = {Parsing permutation phrases}, Volume = {14}, Year = {2004}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAawAAAAAAawAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIBZTMDk1Njc5NjgwNDAwNTE0M2EucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXp6eySO3pgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAySOplgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBCTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpTMDk1Njc5NjgwNDAwNTE0M2EucGRmAA4ALgAWAFMAMAA5ADUANgA3ADkANgA4ADAANAAwADAANQAxADQAMwBhAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgA1VXNlcnMvZG9haXRzZS9Eb2N1bWVudHMvUGFwZXJzL1MwOTU2Nzk2ODA0MDA1MTQzYS5wZGYAABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEDwuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL1MwOTU2Nzk2ODA0MDA1MTQzYS5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKACUAJSAlcCYAJrAm8CfQKEAo0CzALRAtQC4QLmAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAvg=}, Bdsk-Url-1 = {http://dx.doi.org/10.1017/S0956796804005143}} @article{1360800, Address = {Amsterdam, The Netherlands, The Netherlands}, Author = {Bouwers, Eric and Bravenboer, Martin and Visser, Eelco}, Doi = {http://dx.doi.org/10.1016/j.entcs.2008.03.046}, Issn = {1571-0661}, Journal = {Electron. Notes Theor. Comput. Sci.}, Number = {2}, Pages = {85--101}, Publisher = {Elsevier Science Publishers B. V.}, Title = {Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking}, Volume = {203}, Year = {2008}, Bdsk-Url-1 = {http://dx.doi.org/10.1016/j.entcs.2008.03.046}} @article{Mcb07, Author = {McBride, Conor and Paterson, Ross}, Citeulike-Article-Id = {2408154}, Date-Modified = {2009-01-15 23:07:54 +0100}, Doi = {10.1017/S0956796807006326}, Journal = {Journal of Functional Programming}, Number = {01}, Pages = {1--13}, Posted-At = {2008-06-16 11:49:51}, Priority = {2}, Title = {Applicative programming with effects}, Url = {http://portal.acm.org/citation.cfm?id=1348940.1348941}, Volume = {18}, Year = {2007}, Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAeIAAAAAAeIAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMFvMNNIKwAAAA2cIB9BcHBsaWNhdGl2ZXByb2dyYW1taW4jRDlGNjkucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ9pxIUhNgAAAAAAAAAAAAcAAwAACSAAAAAAAAAAAAAAAAAAAAAGUGFwZXJzABAACAAAwW8iwwAAABEACAAAxIUFFgAAAAEAEAANnCAADTWSAA00iwAAAGEAAgBLTWFjaW50b3NoIEhEOlVzZXJzOmRvYWl0c2U6RG9jdW1lbnRzOlBhcGVyczpBcHBsaWNhdGl2ZXByb2dyYW1taW4jRDlGNjkucGRmAAAOAEwAJQBBAHAAcABsAGkAYwBhAHQAaQB2AGUAcAByAG8AZwByAGEAbQBtAGkAbgBnAFcAaQB0AGgARQBmAGYAZQBjAHQAcwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARFVzZXJzL2RvYWl0c2UvRG9jdW1lbnRzL1BhcGVycy9BcHBsaWNhdGl2ZXByb2dyYW1taW5nV2l0aEVmZmVjdHMucGRmABMAAS8AABUAAgAO//8AAIAF0hwdHh9YJGNsYXNzZXNaJGNsYXNzbmFtZaMfICFdTlNNdXRhYmxlRGF0YVZOU0RhdGFYTlNPYmplY3RfEEsuLi8uLi8uLi8uLi8uLi8uLi8uLi9Eb2N1bWVudHMvUGFwZXJzL0FwcGxpY2F0aXZlcHJvZ3JhbW1pbmdXaXRoRWZmZWN0cy5wZGbSHB0kJaIlIVxOU0RpY3Rpb25hcnkSAAGGoF8QD05TS2V5ZWRBcmNoaXZlcgAIABEAFgAfACgAMgA1ADoAPABFAEsAUgBdAGUAbABvAHEAcwB2AHgAegB8AIYAkwCYAKAChgKIAo0ClgKhAqUCswK6AsMDEQMWAxkDJgMrAAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAz0=}, Bdsk-Url-1 = {http://portal.acm.org/citation.cfm?id=1348940.1348941}, Bdsk-Url-2 = {http://dx.doi.org/10.1017/S0956796807006326}} @article{Haskell98Report, Author = {Peyton~Jones, Simon}, Date-Modified = {2009-01-16 01:17:14 +0100}, Journal = {Journal of Functional Programming}, Number = {1}, Pages = {7-255}, Title = {Haskell 98 Language and Libraries: the Revised Report}, Volume = {13}, Year = {2003}} @inproceedings{SPJ02, Author = {Sheard, Tim and Peyton~Jones, Simon}, Booktitle = {Proceedings of the ACM SIGPLAN workshop on Haskell}, Doi = {http://doi.acm.org/10.1145/581690.581691}, Isbn = {1-58113-605-6}, Location = {Pittsburgh, Pennsylvania}, Pages = {1--16}, Publisher = {ACM Press}, Title = {Template meta-programming for Haskell}, Year = {2002}, Bdsk-Url-1 = {http://doi.acm.org/10.1145/581690.581691}} @inproceedings{Joh98, Author = {Johnson, M.}, Booktitle = {COLING-ACL {\~O}98, Montreal, Quebec, Canada}, Pages = {619--623}, Publisher = {Association for Computational Linguistics}, Title = {Finite-state approximation of constraint-based grammars using left-corner grammar transforms}, Year = {1998}} @comment{ BibDesk Static Groups{ group name Lezen keys CambridgeJournals:7407508,1017481,1596644 group name ST-thesis keys thesis:dolstra }}