Oops.  I forgot to copy this to hugs-bugs.

A

------- Forwarded Message

To: Koen Claessen <[EMAIL PROTECTED]>
Cc: reid-alastair
Subject: Re: HugsInternals 
In-reply-to: Your message of "Mon, 23 Mar 1998 17:31:47 +0100."
             <[EMAIL PROTECTED]>
Date: Mon, 23 Mar 1998 12:38:01 -0500
From: Alastair Reid <reid-alastair>

[new entry in bugs list]
Koen Claessen ([EMAIL PROTECTED]) reports that HugsInternals tries to
import unsafePerformIO from IOExts (which doesn't export it) instead of
IOExtensions (which does).

Fixed in the next release

> This naturally leads to another question: why are there 2 modules, one
> called IOExtensions, and the other one called IOExts?

IOExts is one of the shared Hugs libraries.

IOExtensions includes the IO extensions that Hugs added but GHC
haven't added yet.  It currently contains:

argv              :: [String]
writeBinaryFile   :: FilePath -> String -> IO ()
appendBinaryFile  :: FilePath -> String -> IO ()
readBinaryFile    :: FilePath -> IO String
openBinaryFile    :: FilePath -> IOMode -> IO Handle
getCh             :: IO Char

argv is a mildly dubious alternative to getArgs that I added on
a whim.  It should probably be removed.

The binary file operators are just like IO.writeFile, IO.appendFile, etc
except that they don't perform LF <-> CRLF (or LF <-> CR) translations
on Windows and Mac boxes (which have different representations for
end of line).  We've decided to add them to the IOExts library, so
these will go soon.  (Their interface will change slightly)

getCh is just like getChar except that it doesn't echo to the screen.
We'll get rid of this once we implement the IO functions for controlling
echoing.

Alastair


------- End of Forwarded Message



Reply via email to