Core libs summary
Malcolm Wallace
Malcolm.Wallace@cs.york.ac.uk
Fri, 29 Jun 2001 17:03:16 +0100
> I've gone through and put in a best guess for the stability/portability
> status, so let me know if you think any are wrong (Hugs, NHC folks:
> remember that every module marked "portable" is expected to be available
> on all implementations - so if any of these are going to cause problems,
> let me know).
Ok, I've marked against your list anything that I think is problematic
for nhc98, despite being designated portable.
Regards,
Malcolm
------------------
Control.
Monad.
Identity ( portable, experimental )
*** Re-exports Control.Monad.Fix, which
*** is designated non-portable.
ST.
Lazy ( portable, provisional )
Strict ( portable, provisional )
*** Don't both variants of ST require runtime
*** system support? If so, then not yet portable.
Trans ( portable, experimental )
*** I can't imagine what the name means, but
*** the code does look like pure Haskell'98.
Monad ( portable, provisional )
Data.
Array ( portable, provisional )
Bits ( portable, experimental )
*** Not portable. requires either RTS support
*** or an FFI'd implementation in C I would think.
Bool ( portable, experimental )
Char ( portable, provisional )
Complex ( portable, provisional )
Dynamic ( portable, experimental )
*** Doesn't contain a data decl for Dynamic,
*** but otherwise looks ok. This doesn't require
*** any RTS support does it?
Either ( portable, experimental )
IORef ( portable, experimental )
Int ( portable, experimental )
Ix ( portable, provisional )
*** H'98 compliance: rangeSize should now be
*** a class member.
List ( portable, provisional )
Maybe ( portable, experimental )
PackedString ( portable, experimental )
*** nhc98 implements only the `classic' HBC
*** interface. In particular, none of the
*** ByteArray ops are portable.
Ratio ( portable, provisional )
STRef ( portable, experimental )
*** As with the ST monad, I believe RTS support
*** or an FFI'd implementation is required?
Word ( portable, experimental )
Database.
Debug.
Trace ( portable, provisional )
FileFormat.
Foreign.
*** I haven't looked at the Foreign stuff in
*** detail for quite a while, so apart from
*** some RTS implementation in nhc98, I'm
*** assuming everything else is straightforward.
GHC.
Hugs.
NHC.
*** I'd prefer Nhc or Nhc98. All caps is horrible.
Network.
Prelude ( portable, provisional )
System.
*** The sample implementations of many of these
*** System libraries are not very portable, but
*** the interfaces are probably ok.
CPUTime ( portable, provisional )
Cmd ( portable, provisional )
Environment ( portable, provisional )
Exit ( portable, provisional )
IO.
Directory ( portable, provisional )
*** Incorrect interface: Permissions should not
*** be abstract.
Unsafe ( portable, provisional )
IO ( portable, provisional )
Info ( portable, provisional )
*** A great idea. Status should be experimental.
Locale ( portable, provisional )
Random ( portable, provisional )
Time ( portable, provisional )
Text.
Read ( portable, provisional )
Show.
Functions ( portable, provisional )
Show ( portable, provisional )
------------------