using Hudak's SOE book for teaching

2000-08-28 Thread Johannes Waldmann

Dear all, I'm going to teach a course "Practical Functional Programming"
(http://www.informatik.uni-leipzig.de/~joe/edu/ws00/praxis/)
(so named because we also offer courses on theory and implementation)

I want to start from Paul Hudak's SOE book, but I plan to include
some more advanced stuff, especially FranTk, and monadic parsers.
The target audience are our third year students,
so they have done a fair amount of (C, Java) programming
but it will be their first "functional" experience.

Related to this, I want to present Haskore, 
and extend it to include a GUI and "real time" control, see this outline:
http://www.informatik.uni-leipzig.de/~joe/edu/ws00/praxis/sequencer.html

I'd appreciate your comments. Meta-Comment: Instead of teaching 
and programming, I should rather be writing papers and 
compile my habilitation thesis...

-- 
-- Johannes Waldmann  http://www.informatik.uni-leipzig.de/~joe/ --
-- [EMAIL PROTECTED] -- phone/fax (+49) 341 9732 204/252 --
===>  Drittes Leipziger Jongliertreffen   6. - 8. Oktober  <===
===>  http://www.informatik.uni-leipzig.de/~joe/juggling/dreilei/  <===




RE: Another question about higher order functions

2000-08-28 Thread Simon Peyton-Jones

Here is a discussion that is ripe for moving to 
[EMAIL PROTECTED], I think.

Simon

| -Original Message-
| From: Friedrich Dominicus [mailto:[EMAIL PROTECTED]]
| Sent: 25 August 2000 18:54
| To: [EMAIL PROTECTED]
| Subject: Re: Another question about higher order functions
| 
| 
| Zhanyong Wan <[EMAIL PROTECTED]> writes:
| 
| > 
| > let (how_many,rest) = divMod n coin_val in ...
| > 
| > is quite self-explanatary.
| 
| Thanks :). I do think it's nice solution. But to improve on my
| understanding it's more helpful to see it done in another way. Some in
| comp.lang.lisp have pointed out that I'm too much influenced by
| Scheme and that my looping constructs look terrible ;-). 
| > 
| > Higher-orderness, is used unwisely, can be bad.
| Isn't unwise use of other things not as bad? ;-)
| 
| Regards
| Friedrich
| 
| -- 
| for e-mail reply remove all after .com 
| 




Job opening at Utrecht: Generic Haskell

2000-08-28 Thread Johan Jeuring

  Postdoc Software Technology

 Department of Computer Science
  Utrecht University
   Utrecht, The Netherlands

You will work on the "Generic Haskell: a language for generic 
programming" project. See 

http://www.cs.uu.nl/research/projects/generic-haskell/

The abstract of the project is given below.

Together with a team consisting of several senior researchers and Ph.D. 
students, you will develop:

- a generic programming language extension of Haskell;
- practical examples of generic programming such as a database connection;
- programming methods for the language extension. 

Requirements:

PhD in Computer Science. Knowledge of some of the following topics:
functional programming, compiler technology, type theory, and/or generic 
programming.

This is a position for 3 years.

Application:

Send your application on or before October 6, 2000 either by email 
or on paper to: Johan Jeuring, Department of Computer Science, 
Utrecht University, P.O.Box 80.089, NL-3508 TB Utrecht, The Netherlands, 
email: [EMAIL PROTECTED]

Contact:

For information, please contact Johan Jeuring ([EMAIL PROTECTED], 
http://www.cs.uu.nl/~johanj/) or Doaitse Swierstra ([EMAIL PROTECTED],
http://www.cs.uu.nl/~doaitse/).



Generic Haskell: a language for generic programming

Software development often consists of designing a datatype, to which
functionality is added. Some functionality is datatype specific, other
functionality is defined on almost all datatypes, and only depends on
the type structure of the datatype. Examples of generic (or polytypic) 
functionality defined on almost all datatypes are storing a value in a 
database, editing a value, comparing two values for equality, 
pretty-printing a value, etc. A function that works on many datatypes 
is called a polytypic function.

Since datatypes often change and new datatypes are introduced, we have
developed Polyp, an extension of the functional programming language 
Haskell that supports defining polytypic functions. However, Polyp allows 
the definition of polytypic functions on a limited set of datatypes, 
which hinders the wide application of polytypic programming.

Recent work by Hinze shows how to overcome many of the current limitations 
of Polyp by extending Haskell with a construct for defining type-indexed 
functions with kind-indexed types. The goal of this project is to develop:

- a language extension of Haskell based on these ideas;
- practical examples such as a database connection;
- programming methods for the language extension. 

Thus we will obtain a truly generic, type-safe, and practically applicable 
extension of Haskell!






info for basAlgPropos users

2000-08-28 Thread S.D.Mechveliani

Information for the users of  basAlgPropos, DoCon:
Starting from today, I shall be out of the business for about 
a month.

Sergey Mechveliani
[EMAIL PROTECTED]