[project @ 2003-07-24 12:19:57 by ralf]
authorralf <unknown>
Thu, 24 Jul 2003 12:20:00 +0000 (12:20 +0000)
committerralf <unknown>
Thu, 24 Jul 2003 12:20:00 +0000 (12:20 +0000)
commitacd78d6dbda0108ffa899cb585114a21c5ed7499
treea6d5bdc7acd87fb847299e3e7a1e359a9ad10c94
parentcf60c1b36b79bb79003825e4e1d7647a301a9c6e
[project @ 2003-07-24 12:19:57 by ralf]
Major refactoring of Data/Generics.
This also affects the compiler (because of deriving issues).
This is an intermediate commit.
The library is supposed to compile fine.
But the deriving stuff for Data needs to be revised.
The testsuite for Data/Generics will not pass.
gread is broken at the moment.
So it is strongly recommended not to cvs upd for a few hours or a day.

Detailed description of changes:
- Split up Data/Dynamic into Data/Typeable and Data/Dynamic.
  (This makes clear what part is about TypeReps and cast vs.
   dynamics. The latter is not needed by Data/Generics.)
- Renamed Data/include/Dynamic.h -> Typeable.h to end confusion.
- Split up Data/Generics.hs in a set of modules.
- Revised class Data:
  - Got rid of gunfold but added fromConstr as more primtive one
  - Revised representations of constructors
  - Revised treatment of primitive types
- Revised type of gmapQ; preserved old gmapQ as gmapL
- Added a module Data/Types.hs for treatment of types as values.

This is going somewhere.
27 files changed:
Control/Exception.hs
Data/Array.hs
Data/Array/Base.hs
Data/Complex.hs
Data/Dynamic.hs
Data/Generics.hs
Data/Generics/Aliases.hs [new file with mode: 0644]
Data/Generics/Basics.hs [new file with mode: 0644]
Data/Generics/Counts.hs [new file with mode: 0644]
Data/Generics/Schemes.hs [new file with mode: 0644]
Data/Generics/Shortcuts.hs [new file with mode: 0644]
Data/Generics/Strings.hs [new file with mode: 0644]
Data/Generics/Twins.hs [new file with mode: 0644]
Data/Generics/Types.hs [new file with mode: 0644]
Data/PackedString.hs
Data/STRef.hs
Data/Typeable.hs [new file with mode: 0644]
Data/Types.hs [new file with mode: 0644]
Foreign/C/Types.hs
Foreign/C/TypesISO.hs
Foreign/ForeignPtr.hs
GHC/ForeignPtr.hs
Makefile
System/Mem/StableName.hs
System/Mem/Weak.hs
System/Posix/Types.hs
include/Typeable.h [moved from include/Dynamic.h with 93% similarity]