From patrikj@cs.chalmers.se Tue Mar 24 13:45:00 1998 Received: from animal.cs.chalmers.se (root@animal.cs.chalmers.se [129.16.225.30]) by amber.ccs.neu.edu (8.8.6/8.8.6) with ESMTP id NAA07043; Tue, 24 Mar 1998 13:44:55 -0500 (EST) Received: from lips.cs.chalmers.se (lips.cs.chalmers.se [129.16.225.31]) by animal.cs.chalmers.se (8.8.5/8.8.5) with ESMTP id TAA25875; Tue, 24 Mar 1998 19:44:41 +0100 (MET) Received: from localhost (patrikj@localhost) by lips.cs.chalmers.se (8.8.5/8.8.5) with SMTP id TAA24993; Tue, 24 Mar 1998 19:44:39 +0100 (MET) X-Authentication-Warning: lips.cs.chalmers.se: patrikj owned process doing -bs Date: Tue, 24 Mar 1998 19:44:39 +0100 (MET) From: Patrik Jansson Reply-To: Patrik Jansson To: Karl Lieberherr cc: mira@ccs.neu.edu, wand@ccs.neu.edu, will@ccs.neu.edu, Johan Jeuring Subject: Re: Talk on Polytipic Programming In-Reply-To: <199803231657.LAA05508@stockberg.ccs.neu.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: R On Mon, 23 Mar 1998, Karl Lieberherr wrote: > Thank you very much for planning to visiting us. Please can you send me > an abstract for your presentation. Well, I can give you an abstract [see below] for the presentation I am giving here at Yale on friday, but I plan to rework the presentation in the coming weeks to better fit the audience at NEU. > I think that Polytypic Programming will be of interest to the semantics > seminar which Mitch Wand and Will Clinger are organizing. Therefore I > suggest that your presentation will be in a joint Semantics/Demeter > seminar during the time of the semantics seminar which usually is on > Wednesday morning from 10-12. Mitch Wand agreed to such a plan. That sounds like a great idea, [actually I was planning on asking about this seminar after receiving your anser] this way I can hit two birds in one throw. > Please can you let us know which Wednesday would be best for you. I would prefer week 17 (wednesday april 22) as I plan to visit Boston that week anyway. > Please can you include one of your papers related to your talk. The most relevant papers are [available from] http://www.cs.chalmers.se/~patrikj/poly/polypabstract.html http://www.cs.chalmers.se/~patrikj/poly/polylib.html http://www.cs.chalmers.se/~patrikj/poly/unify/ A title for the talk could be simply Polytypic Programming though I might append a few more specific words later. Patrik Jansson ---------------------------------------------------------------- [The talk is based on my licentiate thesis presentation http://www.cs.chalmers.se/~patrikj/lic/] Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, pattern matchers, equality functions, unifiers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of user-defined datatypes. This talk introduces polytypic functions, shows how to construct and reason about polytypic functions and says a few words about the implementation of the polytypic programming system PolyP. PolyP extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks definitions of polytypic functions, and infers the types of all other expressions. Programs in the extended language are translated to Haskell.