This volume contains the lecture notes from the courses o?ered at the Inter- tional Summer School on Language Engineering and Rigorous Software De- lopment, held in Piriap ´ olis, Uruguay, from February 25 to March 1, 2008. The aim of the schoolwasthe dissemination of advancedscienti?c knowledge in the areas of programming languages and rigorous methods for software - velopment. The school was oriented to computer science graduate students and researchers,withaninterestinformaltechniquesforthedesignandconstruction of software systems as well as programming languages. The school was organized in the context of the LERnet (Language En- neering and Rigorous Software Development) project. LERnet is a project of the ALFA programme of the European Commission for co-operation between higher education institutions of the European Union and Latin America. The institutions that participate in the LERnet project are the following: Chalmers Tekniska H¨ ogskola, Sweden Institut National de la Recherche en Informatique et Automatique (INRIA), France Universidad de Castilla-La Mancha, Spain Universidad Catol ´ ica de Santiago del Estero, Argentina Universidad EAFIT, Colombia Universidade Federal de Minas Gerais, Brazil Universidade do Minho, Portugal Universidad Nacional de San Luis, Argentina Universidad Polit´ ecnica de Valencia, Spain Universidad de la Republica ´ , Uruguay Universiteit Utrecht, The Netherlands The project oversees the mobility of PhD students from Latin America to the European Union and vice versa for a period of up to 18 months, to pursue
This book constitutes the thoroughly refereed revised tutorial lectures of the International LerNet ALFA Summer School on Language Engineering and Rigorous Software Development, held in Piriapolis, Uruguay, in February/March 2008.
The volume presents three courses on type theory: an introductory tutorial, a course on type-based termination, and a practical introduction to dependent types. A case study of a static analyzer based on abstract interpretation, a tutorial on combinator parsing, and a study of extended static checking using a point-free transform completes the volume.
Together these contributions will be an invaluable tool for graduate students and researchers looking forward to keeping up to date with the latest developments in rigorous approaches to software development.