[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hiding again



Right.  The Report had better state that synonyms are expanded in the
interfaces for the Prelude.  I propose to 
replace the last sentence of 5.4.2 with
	
	"The interface for the Prelude and each of its submodules may be
inferred from their implementations in Appendix A.  All references to type
synonyms are fully expanded in these interfaces."

OK?

Simon

| From: Lennart Augustsson <augustss@cs.chalmers.se>
| Date: Sat, 14 Dec 91 21:36:32 +0100 
| 
| 
| What about this (sorry to keep complaining):
| 
| 	module M where
| 	import Prelude hiding (ShowS)
| 	...
| 
| Is it legal?  Well, that depends what the interface file
| for Prelude looks like.  If it says (e.g.)
| 	showChar :: Char -> ShowS
| then it is illegal since the closure rule is violated.
| If, on the other hand, it says
| 	showChar :: Char -> String -> String
| then it is legal.
| 
| Unfortunately the interface files are not given for the Prelude(s)
| so it is impossible to tell.
| 
| 	-- Lennart
|