Lang. (was Re: Alternative hierarchy proposal)

Marcin 'Qrczak' Kowalczyk
12 Mar 2001 20:45:45 GMT

Mon, 12 Mar 2001 20:22:03 +0000, Malcolm Wallace <> pisze:

> Are you saying that there are language features which cannot be
> accessed without these libraries?

(I can't speak for Simon, but probably) yes. Features whose
implementations rely on details of a particular runtime system.
Those libraries provide the primary lowest level interface to them.

They include all the magic types like Ptr, ForeignPtr, StablePtr,
Weak, ByteArray, ST, Dynamic, Exception, MVar. And of course standard
types like Integer, IO, Handle, but they are already in Haskell 98's
libraries or even in Prelude.

After some thought I am not convinced at all that we should make
this distinction in the module namespace. This is implementors' job,
not users'. A user doesn't care if FiniteMap is a builtin type or
a container defined in Haskell 98, and whether an unboxed array is
a builtin or a wrapper around ForeignPtr + Storable.

We should probably put the corresponding modules under appropriate
categories like data structures, FFI, I/O, concurrency, interaction
with the system etc. Categories which reflect situations where these
modules are used, not how they are defined.

 __("<  Marcin Kowalczyk *
  ^^                      SYGNATURA ZASTĘPCZA