Books [1] M. Hermenegildo and S. D. Swierstra, editors. Proceedings of the the 7th International PLILP Symposium Programming Languages: Implementations, Logics and Programs, volume 982 of LNCS, 1995. [2] H. Kuchen and S. D. Swierstra, editors. Proceedings of the the 8th International PLILP Symposium Programming Languages: Implementations, Logics and Programs, volume 1140 of LNCS, 1996. [3] I. Prasetya, T. Vos, and S. Swierstra. Introduction to Correctness Approach in Programming, Lecture Notes. Universiteit Utrecht, Instituut Informatica en Informatiekunde, 2002. Website is in dutch. [4] D. Swierstra, P. Henriques, and J. Oliveira. Advanced Functional programming, Third International School, AFP’98. Number 1608 in LNCS. Springer, 1999. [5] S. D. Swierstra, editor. ESOP99: European Symposium on Programming, volume 1576 of LNCS, 1999. PhD Theses [1] S. Swierstra. Lawine: an Experiment in Language and Machine Design. PhD thesis, Twente University of Technology, Jan. 1981. Book Chapters [1] S. D. Swierstra and P. Azero. Attribute grammars in the functional style. In Proceedings of the SI2000. Chapman-Hall, 1998. [2] S. D. Swierstra and O. d. Moor. Virtual data structures. In M. B., P. H., and S. S., editors, Formal Program Development, number 755 in Lecture Notes in Computer Science, pages 355–371. Springer-Verlag, Berlin, 1993. Journal Articles [1] A. Atkinson, A. Heemskerk, and S. Swierstra. Construction of a unitary scattering amplitude. Nuclear Physics, 1976. [2] A. I. Baars, A. Löh, and S. D. Swierstra. Parsing permutation phrases. 14, 6, November 2004. [3] C. Bron, E. Dijkstra, and S. Swierstra. A memory-management unit for the optimal exploitation of a small address space. Information Processing Letters, 15(1):20–22, 1982. [4] P. J. A. Lentfert and S. D. Swierstra. Distributed maximum maintenance on hierarchically divided graphs. Formal Aspects of Computing, 5(1):21–60, 1993. 1 [5] K. B. Oege de Moor and S. D. Swierstra. First class attribute grammars. Informatica: An International Journal of Computing and Informatics, 24(2):329–341, June 2000. Special Issue: Attribute grammars and Their Applications. [6] I. Prasetya. Formalization of variables access constraints to support compositionality of liveness properties. Lecture Notes in Computer Science, 780:324–337, 1993. [7] I. Prasetya. On the style of mechanical proving. Lecture Notes in Computer Science, 780:475–488, 1993. [8] I. Prasetya. Mechanically verified self-stabilizing hierarchical algorithms. Lecture Notes in Computer Science, 1217:399 – 415, 1997. [9] I. Prasetya, A. Azurat, and S. Swierstra. Sebuah framework untuk mekanisasi multi logika. Jurnal Ilmu Komputer dan Teknologi Informasi, 1(2), 2001. [10] I. Prasetya, A. Azurat, and S. Swierstra. Embedding programming logics in HOL theorem prover. Jurnal Ilmu Komputer dan Teknologi Informasi, 2(1), 2002. [11] I. Prasetya and S. Swierstra. Factorizing fault tolerance. Journal of Theoretical Computer Science, Special Edition on Dependable Computing, 290(2):1201–1222, october 2002. [12] I. Prasetya, S. Swierstra, and B. Widjaja. Teori komposisi komponen. Jurnal Ilmu Komputer dan Teknologi Informasi, 1(1), 2001. In Proceedings [1] A. I. Baars, A. Löh, and S. D. Swierstra. Parsing permutation phrases. volume 59 of Eletronic Notes in Theoretical Computer Science. ACM Press, 2001. Also appeared in the preliminary proceedings, Technical Report of Universiteit Utrecht, UU-CS-2001-23. [2] A. I. Baars and S. D. Swierstra. Typing dynamic typing. In S. Peyton Jones, editor, Proceedings of the seventh ACM SIGPLAN international conference on Functional programming, pages 157–166. ACM Press, 2002. [3] A. I. Baars and S. D. Swierstra. Type-safe, self inspecting code. In Proceedings of the ACM SIGPLAN workshop on Haskell, pages 69–79. ACM Press, 2004. [4] V. Costas and S. Swierstra. Generador de parsers basado en combinadores. In J. M. C. and C. Isabel Besembel, editors, XXVII Conferencia Latinoamericana de INFORMATICA (CLEI 2001), page 120, 2001. [5] A. Dijkstra and S. D. Swierstra. Lazy Functional Parser Combinators in Java. In Proceedings of 1st Workshop on Multiparadigm Programming with Object-Oriented Languages (MPOOL), pages 11–42. John von Neumann Institute for Computing, 2001. 2 [6] G. H. Florijn, E. Lippe, A. Dijkstra, N. van Oosterom, and S. D. Swierstra. Camera: Cooperation in open distributed environments. In Proceedings of the European/Usenix Spring Workshop,Jersey, 1992. [7] B. Heeren, J. Hage, and S. D. Swierstra. Constraint based type inferencing in Helium. In M.-C. Silaghi and M. Zanker, editors, Workshop Proceedings of Immediate Applications of Constraint Programming, pages 59 – 80, Cork, September 2003. [8] B. Heeren, J. Hage, and S. D. Swierstra. Scripting the type inference process. In Eighth ACM Sigplan International Conference on Functional Programming, pages 3 – 13, New York, 2003. ACM Press. [9] R. Hughes and S. Swierstra. Polish parsers, step by step. In Eighth ACM Sigplan International Conference on Functional Programming, pages 239– 248, New York, August 2003. ACM Press. [10] J. Jeuring and S. D. Swierstra. Bottom-up grammar analysis — a functional formulation —. In D. Sannella, editor, Proceedings Programming Languages and Systems, ESOP’94, volume 788 of LNCS, pages 317–332. SpringerVerlag, 1994. [11] J. Jeuring and S. D. Swierstra. Constructing functional programs for grammar analysis problems. In Conference Record of FPCA ’95, SIGPLANSIGARCH-WG2.8 Conference on Functional Programming Languages and Computer Architecture, pages 259–269, 1995. [12] J. Jeuring and S. D. Swierstra. Advanced programming concepts in a course on grammars and parsing. In M. Felleisen, M. Hanus, and S. Thompson, editors, Proceedings Workshop on Functional and Declarative Programming in Education, FDPE’99, pages 7–12, 1999. Rice COMP TR99-346. [13] M. F. Kuiper and S. D. Swierstra. Using attribute grammars to derive efficient functional programs. In Computing Science in the Netherlands CSN’87, Nov. 1987. [14] M. F. Kuiper and S. D. Swierstra. Increasing parallelism in attribute grammar evaluators: Transformations and lazy evaluations. In Computing Science in the Netherlands, pages 109–121. SION, SION, 1988. [15] M. F. Kuiper and S. D. Swierstra. Parallel attribute evaluation: stucture of evaluators and detection of parallelism. In P. Deransart and M. Jourdan, editors, Attribute grammars and their Aplication, pages 61–75. INRIA, Springer-Verlag, 1990. [16] P. J. A. Lentfert and S. D. Swierstra. Towards the formal design of selfstabilising distributed algorithms. In P. Enjalbert, A. Finkel, and K. Wagner, editors, STACS 93, Proceedings of the 10th Annual Symposium on Theretical Aspects of Computer Science, volume 665 of LNCS, pages 440– 451, February 1993. [17] P. J. A. Lentfert, A. H. Uittenbogaard, and G. Swierstra, S. D.and Tel. Distributed hierarchical routing. In P. Apers, D.Bosman, and J. van Leeuwen, editors, Computing Science in the Netherlands, pages 321–344, Amsterdam, 1989. SION, Stichting Mathematisch Centrum. 3 [18] M. Pennings, S. D. Swierstra, and H. H. Vogt. Using cached functions and constructors for incremental attribute evaluation. In M. Bruynooghe and M. Wirsing, editors, Programming Language Implementation and Logic Programming, volume 631 of LNCS, pages 130–144. Springer, 1992. [19] I. Prasetya. Variable access constraints and compositionality of liveness properties. In H. Wijshoff, editor, Proceedings of Computing Science in the Netherlands 93, pages 12–23. SION, Stichting Matematisch Centrum, 1993. Best paper award. [20] I. Prasetya, T. Vos, A. Azurat, and S. Swierstra. !UNITY: A HOL theory of general UNITY. In D. Basin and B. Wolff, editors, Emerging Trends Proceedings of 16th International Conference, Theorem Proving in Higher Order Logics (TPHOL), pages 159–176, 2003. Also available as tech. report No. 187 of Inst. fur Inf., Albert-Ludwig-Univ. Freiburg. Available on-line at http://www.informatik.uni-freiburg.de/tr. [21] I. Prasetya, T. Vos, S. Swierstra, and B. Widjaja. A theory for composing distributed components based on temporary interface. In H. D. Van and Z. Liu, editors, Proceedings of the Workshop on Formal Aspects of Component Software (FACS), 2003. Also as UNU/IIST Report no. 284. Available on-line at www.iist.unu.edu/newrh/III/1/page.html. [22] I. Prasetya, T. Vos, S. Swierstra, and B. Widjaja. A theory for composing distributed components based on temporary interface. In 3rd International Workshop on Composition Languages, 2003. Available on-line at www.cs.iastate.edu/˜lumpe/WCL2003. [23] J. Saraiva, M. Kuiper, and D. Swierstra. Effective Function Cache Management for Incremental Attribute Evaluation. In C. Clark, T. Davie, and K. Hammond, editors, 9th International Workshop on Implementation of Functional Languages, pages 517–528, St Andrews, Scotland, September 1997. [24] J. Saraiva, M. Kuiper, and D. Swierstra. Specializing Trees for Efficient Functional Decoration. In M. Leuschel, editor, ILPS97 Workshop on Specialization of Declarative Programs and its Applications, pages 63–72, October 1997. (Also available as Technical Report CW 255, Department of Computer Science, Katholieke Universiteit Leuven , Belgium). [25] J. Saraiva, D. Swierstra, and M. Kuiper. Functional Incremental Attribute Evaluation. In David Watt, editor, 9th International Conference on Compiler Construction, CC/ETAPS2000, volume 1781 of LNCS, pages 279–294. Springer-Verlag, Mar. 2000. [26] J. A. Saraiva and S. D. Swierstra. Generating spreadheet-like tools from strong attribute grammars. In F. Pfenning and Y. Smaragdakis, editors, Generative Programming and Component Engeneering, Second International Conference, GPCE 2003, number 2830 in LNCS, pages 307–223. Springer-Verlag, 2000. [27] M. M. Schrage, A. Dijksta, and S. D. Swierstra. Skit, an open architecture for courseware authoring. In FIE 99, Frontiers in Education Conference. IEEE, 1999. 4 [28] D. Swierstra. Combinator parsers: From toys to tools. In G. Hutton, editor, Electronic Notes in Theoretical Computer Science, volume 41. Elsevier Science Publishers, 2001. [29] S. D. Swierstra. Abstract data types, definition modules and extensions to definition modules. In M(achine) O(riented) L(anguages)-bulletin, 1977. [30] S. D. Swierstra and P. R. Azero Alcocer. Fast, error correcting parser combinators: a short tutorial. In J. Pavelka, G. Tel, and M. Bartosek, editors, SOFSEM’99 Theory and Practice of Informatics, 26th Seminar on Current Trends in Theory and Practice of Informatics, volume 1725 of LNCS, pages 111–129, November 1999. [31] S. D. Swierstra, P. R. Azero Alocer, and J. Saraiava. Designing and implementing combinator languages. In D. Swierstra, P. Henriques, and J. Oliveira, editors, Advanced Functional Programming, Third International School, AFP’98, volume 1608 of LNCS, pages 150–206. Springer-Verlag, 1999. [32] S. D. Swierstra and L. Duponcheel. Deterministic, error-correcting combinator parsers. In J. Launchbury, E. Meijer, and T. Sheard, editors, Advanced Functional Programming, volume 1129 of LNCS-Tutorial, pages 184–207. Springer-Verlag, 1996. [33] A. H. Uittenbogaard, P. J. A. Lentfert, and S. D. Swierstra. Smart cabling: an overview. In Proceedings of the 4th workshop on ACM SIGOPS European workshop, pages 1–5. ACM Press, 1990. [34] H. H. Vogt, S. Swierstra, and M. Kuiper. Efficient incremental evaluation of higher order attribute grammars. In J. Maluszinsky and M. Wirsing, editors, Programming language Implementation and Logic Programming, volume 528 of LNCS, pages 231–242, 1991. [35] H. H. Vogt, S. D. Swierstra, and M. F. Kuiper. Higher order attribute grammars. In Sigplan 1989 Conference on programming language design and Implementation. ACM, 1989. [36] T. Vos, S. Swierstra, and I. Prasetya. Yet another program refinement relation. In International Workshop on Refinement of Critical Systems: Methods, Tools and Experience, 2002. [37] T. E. J. Vos and S. D. Swierstra. Make your enemies transparent. In Proceedings of the 23rd International Workshop on Grpah-Theoretic Concepts in Computer Science, volume 1335 of LNCS, pages 342–353. SpringerVerlag, 1997. [38] T. E. J. Vos and S. D. Swierstra. Facilitating the verification of diffusing computations and their applications. In M. Solar, D. Fernndez-Baca, and E. Cuadros-Vargas, editors, 30ma Conferencia Latinoamericana de Informtica (CLEI2004), pages 42–53. Sociedad Peruana de Computacin, Sept. 2004. ISBN 9972-9876-2-0. 5 Technical Reports [1] A. Azurat and I. Prasetya. A preliminary report on xMECH. Technical Report UU-CS-2002-008, Inst. of Information and Comp. Science, Utrecht Univ., 2002. Download: www.cs.uu.nl/staff/wishnu.html. [2] A. Azurat and I. Prasetya. A survey on embedding programming logics in a theorem prover. Technical Report UU-CS-2002-007, Inst. of Information and Comp. Science, Utrecht Univ., 2002. Download: www.cs.uu.nl/staff/wishnu.html. [3] A. Dijkstra, M. Schrage, and D. Swierstra. Skit, an open architecture for courseware authoring. UU-CS 1999-26, 1999. http://fairway.ecn.purdue.edu/ fie/fie99/pages/index.htm. [4] A. Dijkstra and S. D. Swierstra. Explicit implicit parameters. UU-CS 2004-059, 2004. submitted for publication. [5] A. Dijkstra and S. D. Swierstra. Typing haskell with an attribute grammar. UU-CS 2004-0037, 2004. Lecture Notes of the summer school on Advanced Functional Programming 2005 (AFP05). [6] B. Heeren, J. Hage, and S. Swierstra. Generalizing hindley-milner type inference algorithms. UU-CS 2002-31, Department of Computer Science, Utrecht University, 2002. [7] B. Heeren, J. Jeuring, S. D. Swierstra, and P. A. Alcocer. Improving typeerror messages in functional languages. Technical Report UU-CS-2002009, Institute of Information and Computing Science, University Utrecht, Netherlands, February 2002. Technical Report. [8] M. F. Kuiper and S. D. Swierstra. Using attribute grammars to derive efficient functional programs. RUU-CS 86-16, Department of Computer Science, 1986. [9] P. J. A. Lentfert and S. D. Swierstra. Towards the formal design of self-stabilizing distributed algorithms. Technical Report RUU-CS-92-25, Utrecht University, August 1992. Also in: J.L.G. Dietz (Ed). Proceedings CSN92. Utrecht, November 4–5, 1992. [10] P. J. A. Lentfert, S. D. Swierstra, and A. H. Uittenbogaard. Distributed incremental maximum finding in hierarchically divided graphs. RUUCS 90-30, Department of Computer Science, P.O.Box 80.089, 3508 TB UTRECHT, the Netherlands, 1990. [11] P. J. A. Lentfert, A. H. Uittenbogaard, S. D. Swierstra, and G. Tel. Distributed hierarchical routing. RUU-CS 89-5, Department of Computer Science, PO.Box 80.089, 3508 TB Utrecht, the Netherlands, 1989. [12] M. Pennings, D. Swierstra, and H. Vogt. Using cached functions and constructors for incremental attribute evaluation. RUU-CS 92-11, Department of Computer Science, Padualaan 14, 1992. 6 [13] I. Prasetya. Formalizing UNITY with HOL. Technical Report UU-CS-199601, Inst. of Information and Comp. Science, Utrecht Univ., 1996. Download: www.cs.uu.nl/staff/wishnu.html. [14] I. Prasetya and S. Swierstra. Formal design of self-stabilizing programs: Theory and examples. Technical Report UU-CS-2000-07, Inst. of Information and Comp. Science, Utrecht Univ., 2000. Download: www.cs.uu.nl/staff/wishnu.html. [15] I. Prasetya, S. Swierstra, and B. Widjaja. Component-wise formal approach to design distributed systems. Technical Report UU-CS-2000-01, Inst. of Information and Comp. Science, Utrecht Univ., 2000. Download: www.cs.uu.nl/staff/wishnu.html. [16] A. d. Raaf, A. Dijkstra, and S. Swierstra. A lan with real-time, facilities based on osi-concepts,. RUU-CS 85, Department of Computer Science, 1985. [17] J. Saraiva, M. Kuiper, and S. D. Swierstra. Effective function cache management for incremental attribute evaluation. UU-CS 1996-50, 1996. [18] J. Saraiva, D. Swierstra, and M. Kuiper. Strictification of Computations on Trees. Technical report UU-CS-1997-30, Department of Computer Science, Utrecht University, August 1997. ftp://ftp.cs.ruu.nl/pub/RUU/CS/techreps/CS-1997/1997-30.ps.gz. [19] J. Saraiva, S. D. Swierstra, M. Kuiper, and M. Pennings. Strictification of lazy functions. UU-CS 1996-51, 1996. [20] A. Schoute and S. Swierstra. Writing concurrent programs in a sequential language like pascal. Inf-Memorandum 1984-20, Twente University of Technology, 1984. [21] M. Schrage, J. Jeuring, and S. Swierstra. Combinators for layered software architectures. UU-CS 2002-30, 2002. [22] S. D. Swierstra. Another approach to type checking. Technical report, Twente University of Technology, 1979. [23] S. D. Swierstra. Machine architectures for block structured languages. Technical Report 262, Technical University Twente, 1979. [24] S. D. Swierstra. Linear, online, functional pretty printing (corrected and extended version. UU-CS 2004-025a, 2004. under consideration for JFP. [25] S. D. Swierstra and H. H. Vogt. Higher order attribute grammars: a merge between functional and object oriented programming. RUU-CS 9012, Dept. of Computer Science, 1990. [26] H. H. Vogt, S. Swierstra, and M. Kuiper. On the efficient incremental evaluation of higher order attribute grammars. RUU-CS 90-36, Department of Computer Science, P.O.Box 80.089, 3508 TB Utrecht, the Netherlands, 1990. 7 [27] T. Vos and S. Swierstra. Program refinement in unity. UU-CS 2000-41, 2000. [28] T. Vos and S. Swierstra. Proving distributed hylomorphisms. UU-CS 200040, 2000. [29] T. Vos, S. Swierstra, and I. Prasetya. Formal methods and mechanical verification applied to the development of a convergent distributed sorting program. Technical Report UU-CS-1996-37, Inst. of Information and Comp. Science, Utrecht Univ., 1996. Download: www.cs.uu.nl/staff/wishnu.html. [30] T. Vos and S. D. Swierstra. Defining a non-concrete recursive type in hol which includes sets. UU-CS 2000-09, 2000. [31] T. Vos and S. D. Swierstra. Sequential program composition in unity. UUCS 2000-10, 2000. 8