sjt@ukc.ac.uk (S.J.Thompson) (12/01/89)
INTRODUCTION TO FUNCTIONAL PROGRAMMING IN MIRANDA Thursday 4 January -- Friday 5 January 1990 Functional programming offers an alternative, higher-level, method of programming. Functional programs are descriptive rather than impera- tive, so they are - closer to their specifications, - more concise and readable, and, - more amenable to formal techniques of program derivation and verification. Users in industry find functional languages suitable for the rapid pro- totyping of systems as well as adopting them for general-purpose pro- gramming. Academically, an increasingly large proportion of computer science departments are teaching functional languages in their intro- ductory programming courses. Miranda is a functional programming language designed by Professor David Turner of the University of Kent, and distributed commercially by Research Software Ltd. Miranda is a higher-order, lazy, purely func- tional language, with polymorphic strong typing and a simple yet power- ful module system. The Miranda system is running at over 300 sites, and is acknowledged to be one of the standard vehicles for functional pro- gramming. For further details please contact Mrs J. Farmer Computing Laboratory University of Kent Canterbury Kent, CT2 7NF Telephone 0227-764000 ext 7695 and Email jcf@uk.ac.ukc (within UK) or jcf@ukc.ac.uk (outside the UK). The Course is aimed at systems analysts, software engineers and program- mers as well as at academic teaching and research staff and postgraduate students. There are no formal prerequisites for the course. The Course will involve a mixture of presentations and supervised exer- cise sessions. These will provide practical experience of constructing functional programs and of using the Miranda system to execute them. Course Outline The first day of the course will explore the basics of functional pro- gramming. We start with the central notions of expressions, values and evaluation, and types. A major strength of the language is its general- ity, shown by its ability both to express functions which themselves operate over other functions ('higher-order' functions), and also gener- ically to define 'polymorphic' functions which can be used over any of a class of types. The remainder of the day will explore these ideas, using the built-in type of lists as well as the basic types. On the second day we shall look again at lists, before showing how we can prove the correctness of functions. This is much simpler and more direct than for imperative languages. The 'lazy' evaluation strategy which Miranda uses is then discussed, and after looking at the novel programming techniques which this encourages, we explore how user- defined types are introduced. We conclude the course with a review of the material covered and of the prospects for functional programming. The course team consists of Professor David Turner, Allan Grimley, Richard Jones and Dr. Simon Thompson, who are all experienced teachers of functional programming, as well as having considerable research expertise. The Venue is the Computing Laboratory at the University of Kent at Canterbury. The Computing Laboratory is housed in a modern building on a 300 acre campus a mile north of and overlooking the cathedral city of Canterbury. The Dates of the course will be Thursday 4 January -- Friday 5 January 1990 and the times will be 9 o'clock to 5 o'clock each day. The cost will be 250 pounds per person, with reduced rates of 150 pounds for salaried academic staff and 100 pounds for students. The course fee includes the cost of lunches but excludes accommodation, breakfast and evening meals. Bed and breakfast accommodation can be provided in single study bed- rooms on campus as an optional extra at 14.25 pounds per night. Evening meals may be purchased separately. BOOKING INSTRUCTIONS AND CONDITIONS Please complete the booking form below with your booking and payment details before returning to: Mrs J. Farmer Computing Laboratory University of Kent Canterbury Kent, CT2 7NF The number of places available will be limited, and places will be allo- cated in the order that bookings are received. Substitution of partici- pants may be made at any time. In the event of cancellation a #30 administration fee will be charged. In the event of circumstances beyond our control, the University of Kent reserves the right to cancel or reschedule the course. All fees paid will be refunded. FUNCTIONAL PROGRAMMING IN MIRANDA 4-5 January 1990 Computing Laboratory University of Kent at Canterbury BOOKING FORM Please reserve one place on the above course for: Name: Position: Company: Address: Tel No.: Email: Dates on which overnight accommodation is required at 14 pounds 25 pence per night (delete as appropriate) 3 January / 4 January / 5 January I enclose either (a) A cheque payable to UNIKENT for # (the course fee) plus # for accommodation, or, (b) An official order form from my organisation for the items listed under (a). -- Good health is merely the slowest rate at which one can die.