Baastad Springschool

erik@cs.ruu.nl (Erik Meijer)
Thu, 30 Mar 1995 07:52:35 GMT

          From comp.compilers

Related articles
Baastad Springschool erik@cs.ruu.nl (1995-03-30)
| List of all articles for this month |
Newsgroups: comp.compilers
From: erik@cs.ruu.nl (Erik Meijer)
Summary: final call for participation
Keywords: functional, courses
Organization: Dept of Computer Science, Utrecht University, The Netherlands
Date: Thu, 30 Mar 1995 07:52:35 GMT

!! LAST CHANGE TO APPLY !! LAST CHANGE TO APPLY !! LAST CHANGE TO APPLY !!


                          First International Spring School
                                                        on
                  Advanced Functional Programming Techniques
                              Bastad, Sweden, May 24-31, 1995


                http://www.cs.ruu.nl/people/erik/springschool.html
                baastad@cs.chalmers.se
                erik@cs.ruu.nl


!! LAST CHANGE TO APPLY !! LAST CHANGE TO APPLY !! LAST CHANGE TO APPLY !!


Functional programming languages offer a number of benefits to
programmers. Using functional languages often results in fast
development times, and shorter code that is easier to adjust, reason
about and reuse. The last few years have seen new developments in
functional programming techniques. Concepts such as monads, type
classes, and several new special purpose libraries of higher-order
functions are new and powerful methods for structuring programs.


This spring school focuses on how-to-write-functional-programs. The
spring school aims to bring computer scientists up-to-date with the
latest advanced functional programming techniques. It is assumed that
the attendants have some basic knowledge of functional programming,
i.e., on the level of Bird and Wadler's "Introduction to functional
programming". An ample amount of time will be spent on exercises. This
will enable the students to familiarise themselves thoroughly with the
material and the techniques. The number of students will be strictly
limited, in order to allow an intensive interaction between students and
lecturers. There will be computers available to experiment with the
different techniques.


ABSTRACTS AND TITLES OF LECTURES


* FUNCTIONAL PARSERS (Jeroen Fokker, Utrecht)


In an informal way the `list of successes' method for writing parsers
using a lazy functional laanguage (Gofer) is discussed. The library of
hiher-order functions (known as `parser combinators') that is developed
is used for writing parsers for nested parentheses and operator
expressions with an arbitrary number of priorities. The method is
applied on itself to write a parser for grammars, that yields a parser
for the language of the grammar.


* MONADS FOR FUNCTIONAL PROGRAMMING (Phil Wadler, Glasgow)


The use of monads to structure functional programs is discussed. Monads
provide a convenient framework for simulating effects found in other
languages, such as global state, exception handling, output, or
non-determinism. Three case studies are looked at in detail: how
monads ease the modification of a simple evaluator; how monads act as
the basis of a datatype of arrays subject to in-place update; and how
monads can be used to build parsers.


* CONSTRUCTING MEDIUM SIZED EFFICIENT
    FUNCTIONAL PROGRAMS (Marko van Eekelen, Nijmegen)


As functional programming comes of age, writing medium sized functional
programs (i.e. programs in the range of 10.000 to 100.000 lines of
source code) becomes a realistic task. As a test case for development
techniques for medium sized efficient functional programs this lecture
discusses the experience with writing, in the functional language Clean,
a functional spreadsheet, i.e. a spreadsheet which has as its cell
expression language a lazy functional programming language with the
ability for the user to define lazy higher-order recursive functions.


An important aim of the design was to reuse existing functional software
as much as possible. The resulting application uses about 25000 lines
of Clean combining general components such as a window-based text
editor, a symbolic evaluator and a high-level I/O library.


The lecture will introduce the design of the spreadsheet application
(FunSheet), and discuss the experience with the development techniques
for this application. Some examples are given of general techniques for
writing medium-sized functional programs that may be used in future
experiments.


* FUNCTIONAL PROGRAMMING BEYOND THE HINDLEY/MILNER
    TYPE SYSTEM (Mark Jones, Nothingham)


The Hindley/Milner type system has been widely adopted as a basis for
statically typed functional languages. One of the main reasons for this
is that it provides an elegant compromise between flexibility, allowing
a single value to be used in different ways, and practicality, freeing
the programmer from the need to supply explicit type information.


Focussing on practical applications rather than implementations or
theoretical details, this lecture examines a range of extensions that
provide more flexible type systems while retaining many of the
properties that have made the original Hindley/Milner system so popular.
The topics discussed, some old, but most quite recent, include type and
constructor class overloading, higher-order polymorphism and powerful
module systems. Particular emphasis is placed on the use of these
features to promote modularity and reusability.


* MERGING MONADS AND FOLDS FOR FUNCTIONAL PROGRAMMING
    (Erik Meijer, Utrecht)


This lecture discuss the simultaneous use of generalised fold operators
and monads to structure functional programs. Generalised fold operators
structure programs after the decomposition of the value they consume.
Monads structure programs after the computation of the value they
produce. Our programs abstract both from the recursive processing of
their input as well as from the side-effects in computing their output.
We show how generalised monadic folds aid in calculating an efficient
graph reduction engine from an inefficient specification.


* FUNCTIONAL GRAPH ALGORITHMS (John Launchbury, OGI)


Graph algorithms have long been a challenge to program in a pure
functional language. Previous attempts have either tended to be
unreadable, or have failed to achieve standard asymptotic complexity
measures. We explore a number of graph search algorithms in which we
achieve standard complexities, while significantly improving upon
traditional imperative presentations. In particular, we construct the
algorithms fromreusable components, so providing a greater level of
modularity than is available elsewhere. Furthermore, we provide
examples of correctness proofs, largely because they are not based upon
reasoning about the dynamic process of graph traversal, but rather
reason about a static value.


* THE DESIGNA OF A PRETTY-PRINTING LIBRARY (John Huhes, G"otheburg)


* PROGRAMMING WITH ALGEBRAS (Dick Kieburtz, OGI)


* PROGRAMMING WITH FUDGETS (Magnus Carlsson and Thomas Hallgren, G"oteborg)


LOCATION AND DATE


The spring school will be held in Bastad, a small town between
Copenhagen and G"oteborg on the Swedish west coast. Participants are
expected to arrive on Tuesday May 23. The spring school lasts until
Wednesday May 31.


APPLICATIONS


To apply fill in the form on the Springschool WWW page
(http://www.cs.ruu.nl/people/erik/springschool.html)
or complete the form below and it e-mail to baastad@cs.chalmers.se
or send it to:


    Johan Jeuring
    - Spring School -
    Department of Computing Science
    Chalmers University of Technology and University of G"oteborg
    S-412 96 G"oteborg
    Sweden


There are only a few places left, so it is important to return the
application form as soon as possible. The EXTENDED DEADLINE for
applications is April 10, 1995. Further information can be obtained
via email from the email address baastad@cs.chalmers.se or on WWW at
the URL "http://www.cs.ruu.nl/people/erik/springschool.html".


FEES


The board and accomodation fee is 4500 SEK. The participation fee is
1000 SEK for PhD students (a letter of recommendation is required), 3000
SEK for academia, and 5000 SEK for others (a US dollar is worth about 8
SEK). An invoice with this amount will be sent to all participants
together with a letter of acceptance. Payment of the invoice is due in
advance, and must be remitted to our postal account by May 10, 1995 at
the very latest.


ORGANISATION


The local organisers are Johan Jeuring, G"oteborg, and Erik Meijer,
Utrecht.


-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-8<-.-


                                                  REGISTRATION FORM






Return to: Johan Jeuring
                      - Spring School -
                      Department of Computing Science
                      Chalmers University of Technology and University of
                      G"oteborg
                      S-412 96 G"oteborg
                      Sweden




Name:


Citizenship:


male/female:


Mailing address:










email:


fax:


Highest university degree obtained , year , institution


Institution presently associated with (if other than above mailing address):








Present position and duties:








Current interests in Computer Science:








If the applicant is a PhD student, a separate letter of recommendation
is required.


--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.