The Preface of the Haskell Report says:

  The comittee hopes that Haskell can serve as a basis for future research
  in language design. We hope that extensions or variants of the language
  may appear, incorporating experimental features.

Various extensions have been proposed or even implemented. It would be nice
to have a second companion document to the Haskell Report, dedicated to 
extensions.

Placed at the official WWW-sites of the Report, but updated more frequently,
it would provide a central registry for extension proposals and a central
source of information for both the comittee and 'ordinary' Haskell users.

The extension register should be divided into categories roughly describing
the status of each proposal and could even include comments from the comittee,
like: 'We rejected this proposal for the following reasons' or 'We judge this
to be a very interesting extension, but haven't decided yet about the best
way to include it in the standard'. There should be a list of open problems
(e.g. conflicts with other language elements), expected advantages and known
disadvantages for each proposal.

Categories could be:

  PROPOSED  description available (formal or informal)
  REJECTED  rejected by the comittee or given up by the author
  PROTOTYPE implemented in at least one of the available systems
  SCHEDULED accepted (will be included in one of the next versions)


What do You think about it?
cr


-------------
Some examples: 

(the list is far from complete and only intended to show the need for a 
register, so please, don't flame me for mistakes and omissions ;-)

STATE: Haskell 1.2

PROPOSED
  ?

REJECTED
  views

PROTOTYPE
  existential types             (chalmers)
  fudgets                       (chalmers)
  mutable arrays                (glasgow)
  ST monad                      (glasgow)
  ccall                         (glasgow)
  unboxed datatypes             (glasgow)
  constructor classes           (nottingham)
  monad comprehensions          (nottingham)
  records                       (yale)
  foreign function interface    (yale)
  X window interface            (yale)
  concurrent execution, ...

SCHEDULED
  monadic I/O                   (1.3)
  ...


-------------
Hmm.., there should be a section on proposals concerning the 
language environment as well:

PROPOSED
  debugger                      (??)

REJECTED

PROTOTYPE
  interactive environment       (chalmers,nottingham,yale)
  parser generator              (glasgow)
  profiling, ...

SCHEDULED


-- 
Claus Reinke                                University of Kiel
email: [EMAIL PROTECTED]       Department of Computer Science
http://www.informatik.uni-kiel.de/~cr/      Preusserstr. 1-9,   24105 Kiel


Reply via email to