On 2003-12-17T15:32:19-0500, John Clements wrote: > In Haskell, as I understand it, there are a certain number of cases in > which these parts of the program will _not_ be sufficient to determine > what's going to happen next. In particular, I have to examine the type > proof of the program--the whole program--to see how things were > resolved in order to figure out what's going to happen next. Perhaps it is relevant for me to point out that you don't have to examine the type proof for the -whole- program to know the operational behavior of the expression you are interested in. You only need to know (1) the typing environment, just like in ML, and (2) the type assigned to the expression you are interested in. Item (2) is just as local as (1). For example, in order to know what an occurrence of "read" does in a program, I only need to know the typing environment for that occurrence of "read" and the type assigned to that "read" subexpression. That's the coherence and non-ambiguity guarantee of the type class system. -- Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig Remember 9/11 * "It's untidy. And freedom's untidy. And free people are free to make mistakes and commit crimes and do bad things." -- Donald Rumsfeld China has listed the organization behind http://www.uygur.org/ as terrorist. (http://www.mps.gov.cn/webpage/showNews.asp?id=1118&biaoshi=bitGreatNews)
Attachment:
signature.asc
Description: Digital signature