RE: Exporting class methods

"Simon Marlow" <[email protected]> Tue, 19 Apr 2005 11:50:15 +0100
Newsgroups gmane.comp.lang.haskell.nhc.bugs
Message-ID <3429668D0E777A499EE74A7952C382D10379C0B4@EUR-MSG-01.europe.corp.microsoft.com>
On 15 April 2005 17:26, Malcolm Wallace wrote:

> Yes, pretty-much all of these rely on significant extensions to
> Haskell'98.=20

Nah, many of these are implementable without changing the compiler:

> Ian Lynagh <[email protected]> writes:
>=20
>> Control.Exception (bracket_, catch, block, unblock
>>                    catchJust, Exception(IOException)
>>                    catchDyn, throwDynTo, bracket, ioErrors, finally )

Needs exception support, of course

>> Control.Concurrent ( ThreadId, myThreadId )
>> Control.Concurrent.MVar (MVar, modifyMVar_, swapMVar, newMVar)

Easy (no forkIO)

>> System.Posix.IO (fdToHandle)

nhc98 must have something like this already.

>> System.Posix.Types ( Fd(Fd) )
>> System.IO ( hPutBuf, hGetBuf, hIsTerminalDevice ) -- claims to be
>> portable! System.Posix (getFileStatus, setFileMode, unionFileModes,
>>               ownerExecuteMode, groupExecuteMode, fileMode
>>               EpochTime, modificationTime, sleep, FileOffset,
>>               fileSize, setFileTimes, epochTime)

All implementable using the FFI only

>> Control.Monad.Reader (Reader, runReader, ask, local)
>> Control.Monad.Error (instance MonadPlus IO)

These have H98 implementations, as far as I'm aware.

>> Also, unboxed arrays of Int32, Bool, Int and STUArrays of Int and
>> Bool (plus runST, mutable array functions, unsafeFreeze, etc).

Ok, MArray and IArray need MPTC, but you don't actually need unboxed
arrays (Hugs provides these).

Cheers,
	Simon