The following message appeared on eli (or cs.yale.edu). I don't
think your really want messages going there. Where should it be
going?
Miriam
--------------------------------------------
>From [EMAIL PROTECTED] Fri May 15 17:40:20 1992
Received: from YALEVM.YCC.YALE.EDU by eli.CS.YALE.EDU via SMTP; Fri, 15
May 1992 17:39:50 -0400
Received: from YaleVM.YCC.Yale.Edu by YaleVM.YCC.Yale.Edu (IBM VM SMTP V2R2)
with BSMTP id 2335; Fri, 15 May 92 17:38:54 EDT
Received: from YALEVM.BITNET by YaleVM.YCC.Yale.Edu (Mailer R2.08 PTF008) with
BSMTP id 0821; Fri, 15 May 92 17:38:53 EDT
Date: Fri, 15 May 1992 17:33:41 EDT
Reply-To: haskell
Sender: Haskell Distribution List <[EMAIL PROTECTED]>
From: "Satish Thatte"
<[EMAIL PROTECTED]>
Subject: paper on overloading
Comments: To: [EMAIL PROTECTED]
To: Multiple recipients of list HASKLD-L <[EMAIL PROTECTED]>
Status: RO
I would like to announce the availability of a paper that describes a
new approach to the semantics and typing of programs with Haskell-style
type classes. The following abstract describes the ideas in the paper.
All comments are welcome.
Satish Thatte
ABSTRACT
The semantics of Haskell uses a
{\em prescriptive} type system for overloading resolution.
This preempts any debate about the appropriateness of the established
notion of well-typing in this family of languages since ill-typed programs
are meaningless. This paper presents a revisionist approach to these issues
starting with a semantics (for a very general class feature) that is
independent of the resolution of overloading constraints.
In other words, the type system on which the semantics is based does not
reject programs for overloading-related type errors. Our type system
is based on encoding classes as quasi-regular sets of types, and we show
that well-typing is independent of the particular fixedpoint operator used to
interpret recursive classes. Haskell-style type inference using backward
chaining to prove that a type is an instance of a class turns out to imply a
{\em least} fixed point semantics for classes. We show further that this
approach is workable only for the special case of {\em contractive} classes.
Although this includes all classes definable in Haskell, most proper
extensions of Haskell classes violate contractiveness, which helps explain
the negative results for decidability of type inference for many extensions.
We use the example of multiparameter classes to demonstrate the point.
Many extensions appear to require type inference based on {\em greatest}
fixed point semantics for classes. In a forthcoming extension of this
paper, we show that type inference based on greatest fixed points is
decidable for a class feature with relatively few restrictions.
HOW TO GET THE PAPER
Establish an FTP connection to sun.mcs.clarkson.edu and login as anonymous.
The paper is in file "overloading.dvi.Z" in directory "pub".
Don't forget to change mode to "binary" before getting the file.
If you have any problems, please let me know. If you are interested
but do not have access to Internet, please send me mail and I will
mail the paper to you some other way.