sof [Mon, 13 Oct 2003 05:09:40 +0000 (05:09 +0000)]
[project @ 2003-10-13 05:09:40 by sof]
prev commit too strict wrt mingw
sof [Mon, 13 Oct 2003 03:21:20 +0000 (03:21 +0000)]
[project @ 2003-10-13 03:21:20 by sof]
cope if regex.h isn't supported by target
sof [Mon, 13 Oct 2003 03:19:48 +0000 (03:19 +0000)]
[project @ 2003-10-13 03:19:48 by sof]
make it useable with msvc + gcc-mingw
stolz [Thu, 9 Oct 2003 14:01:46 +0000 (14:01 +0000)]
[project @ 2003-10-09 14:01:46 by stolz]
Fix flipped arguments to sigprocmask in getSignalMask.
Noticed by: Shawn P. Garbett
stolz [Thu, 9 Oct 2003 13:59:33 +0000 (13:59 +0000)]
[project @ 2003-10-09 13:59:33 by stolz]
FreeBSD 4.X has an emtpy wctype.h, so test one of the affected
functions in Unicode.hsc if it's really there.
sof [Tue, 7 Oct 2003 16:56:33 +0000 (16:56 +0000)]
[project @ 2003-10-07 16:56:33 by sof]
peekCString{Len}: tweak GHC impls (why are these provided anyway?)
- Do as for Foreign.Marshal.Array.peekArray and read in length-bounded
string back-to-front.
- force evaluation of CChar->Char conversions.
merge to STABLE.
simonpj [Mon, 6 Oct 2003 13:14:36 +0000 (13:14 +0000)]
[project @ 2003-10-06 13:14:36 by simonpj]
MERGE TO STABLE
Fix trivial lexing bug involving leading zeros
045.4
was lexing as an Int, with a trailing ".4"
The test is lib/Lex/lexNum
wolfgang [Wed, 1 Oct 2003 11:00:20 +0000 (11:00 +0000)]
[project @ 2003-10-01 11:00:20 by wolfgang]
Add runInUnboundThread to the export list
wolfgang [Wed, 1 Oct 2003 10:57:44 +0000 (10:57 +0000)]
[project @ 2003-10-01 10:57:44 by wolfgang]
New implementation & changed type signature of forkProcess
forkProcess now has the following type:
forkProcess :: IO () -> IO ProcessID
forkProcessAll has been removed as it is unimplementable in the threaded RTS.
forkProcess using the old type (IO (Maybe ProcessID)) was impossible to
implement correctly in the non-threaded RTS and very hard to implement
in the threaded RTS.
The new type signature allows a clean and simple implementation.
panne [Fri, 26 Sep 2003 09:26:13 +0000 (09:26 +0000)]
[project @ 2003-09-26 09:26:13 by panne]
Saving/restoring termios is only done for GHC
panne [Thu, 25 Sep 2003 15:14:44 +0000 (15:14 +0000)]
[project @ 2003-09-25 15:14:44 by panne]
To fix dynamic linking issues with Hugs, access saved_termios via
getter/setter.
sof [Thu, 25 Sep 2003 14:44:36 +0000 (14:44 +0000)]
[project @ 2003-09-25 14:44:36 by sof]
[win32]getCPUTime:
comments + reduce fromIntegral use. No change in functionality.
simonmar [Wed, 24 Sep 2003 14:01:18 +0000 (14:01 +0000)]
[project @ 2003-09-24 14:01:18 by simonmar]
Add foldFM_GE, fmToList_GE, keysFM_GE, eltsFM_GE. (contributed by
Tomasz Zielonka via George Russell).
malcolm [Wed, 24 Sep 2003 13:26:08 +0000 (13:26 +0000)]
[project @ 2003-09-24 13:26:08 by malcolm]
Missing dependency.
simonmar [Wed, 24 Sep 2003 11:36:24 +0000 (11:36 +0000)]
[project @ 2003-09-24 11:36:24 by simonmar]
Add some realToFrac rules for CFloat,CDouble and CLDouble, so that
eg. realToFrac :: CDouble -> Double turns into a no-op.
simonmar [Wed, 24 Sep 2003 11:06:54 +0000 (11:06 +0000)]
[project @ 2003-09-24 11:06:54 by simonmar]
Move forkOS_createThread into the RTS so its implementation can be
dependent on RTS_SUPPORTS_THREADS, which means we can provide a stub
implementation in the !RTS_SUPPORTS_THREADS case, and hence not depend
on pthread_create, which requires -lpthread. The upshot is that GHCi
now works again when !RTS_SUPPORTS_THREADS.
simonmar [Wed, 24 Sep 2003 10:41:11 +0000 (10:41 +0000)]
[project @ 2003-09-24 10:41:11 by simonmar]
Add non-blocking versions of hGetBuf, hPutBuf.
simonmar [Wed, 24 Sep 2003 10:32:12 +0000 (10:32 +0000)]
[project @ 2003-09-24 10:32:12 by simonmar]
If we change the terminal settings as a result of hSetBuffering or
hSetEcho, then restore them again in hs_exit(). This is just good
citizenship on Unixy platforms.
We *don't* just automatically save the terminal settings and restore
them at the end, because that would prevent implementing stty-like
programs in Haskell. This scheme is a compromise that hopefully DTRT
in most cases.
sof [Tue, 23 Sep 2003 18:59:43 +0000 (18:59 +0000)]
[project @ 2003-09-23 18:59:43 by sof]
h{Get,Put}NonBlocking: win32 impl
sof [Tue, 23 Sep 2003 17:33:12 +0000 (17:33 +0000)]
[project @ 2003-09-23 17:33:12 by sof]
createPipe, createPipeEx: commented out exports (doesn't appear to be defined anywhere)
sof [Tue, 23 Sep 2003 16:18:03 +0000 (16:18 +0000)]
[project @ 2003-09-23 16:18:03 by sof]
[win32]: make it compile
simonmar [Tue, 23 Sep 2003 16:13:59 +0000 (16:13 +0000)]
[project @ 2003-09-23 16:13:59 by simonmar]
Haddock fix.
simonmar [Tue, 23 Sep 2003 13:26:30 +0000 (13:26 +0000)]
[project @ 2003-09-23 13:26:30 by simonmar]
- Add h{Get,Put}BufNonBlocking
- optimise hGetBuf/hPutBuf so that they use the buffer more. Lots of
small hGetBufs will now use the read buffer, rather than repeatedly
calling into the OS.
simonmar [Tue, 23 Sep 2003 13:23:58 +0000 (13:23 +0000)]
[project @ 2003-09-23 13:23:58 by simonmar]
micro-optimisation
panne [Tue, 23 Sep 2003 10:09:17 +0000 (10:09 +0000)]
[project @ 2003-09-23 10:09:17 by panne]
Unbreak Show instance for Ptr caused by the changes to showHex
merge to STABLE
wolfgang [Mon, 22 Sep 2003 13:27:19 +0000 (13:27 +0000)]
[project @ 2003-09-22 13:27:19 by wolfgang]
Really make the bound threads stuff compile this time (sorry).
ross [Mon, 22 Sep 2003 11:11:54 +0000 (11:11 +0000)]
[project @ 2003-09-22 11:11:54 by ross]
cosmetic: move comments inside #ifdefs to avoid confusing people (like
Hugs users) who look at the preprocessed output.
wolfgang [Mon, 22 Sep 2003 10:20:06 +0000 (10:20 +0000)]
[project @ 2003-09-22 10:20:06 by wolfgang]
fix some embarassing typos in the previous commit
wolfgang [Sun, 21 Sep 2003 22:20:57 +0000 (22:20 +0000)]
[project @ 2003-09-21 22:20:57 by wolfgang]
Bound Threads
=============
Introduce a way to use foreign libraries that rely on thread local state
from multiple threads (mainly affects the threaded RTS).
See the file threads.tex in CVS at haskell-report/ffi/threads.tex
(not entirely finished yet) for a definition of this extension. A less formal
description is also found in the documentation of Control.Concurrent.
The changes mostly affect the THREADED_RTS (./configure --enable-threaded-rts),
except for saving & restoring errno on a per-TSO basis, which is also necessary
for the non-threaded RTS (a bugfix).
Detailed list of changes
------------------------
- errno is saved in the TSO object and restored when necessary:
ghc/includes/TSO.h, ghc/rts/Interpreter.c, ghc/rts/Schedule.c
- rts_mainLazyIO is no longer needed, main is no special case anymore
ghc/includes/RtsAPI.h, ghc/rts/RtsAPI.c, ghc/rts/Main.c, ghc/rts/Weak.c
- passCapability: a new function that releases the capability and "passes"
it to a specific OS thread:
ghc/rts/Capability.h ghc/rts/Capability.c
- waitThread(), scheduleWaitThread() and schedule() get an optional
Capability *initialCapability passed as an argument:
ghc/includes/SchedAPI.h, ghc/rts/Schedule.c, ghc/rts/RtsAPI.c
- Bound Thread scheduling (that's what this is all about):
ghc/rts/Schedule.h, ghc/rts/Schedule.c
- new Primop isCurrentThreadBound#:
ghc/compiler/prelude/primops.txt.pp, ghc/includes/PrimOps.h, ghc/rts/PrimOps.hc,
ghc/rts/Schedule.h, ghc/rts/Schedule.c
- a simple function, rtsSupportsBoundThreads, that returns true if THREADED_RTS
is defined:
ghc/rts/Schedule.h, ghc/rts/Schedule.c
- a new implementation of forkProcess (the old implementation stays in place
for the non-threaded case). Partially broken; works for the standard
fork-and-exec case, but not for much else. A proper forkProcess is
really next to impossible to implement:
ghc/rts/Schedule.c
- Library support for bound threads:
Control.Concurrent.
rtsSupportsBoundThreads, isCurrentThreadBound, forkOS,
runInBoundThread, runInUnboundThread
libraries/base/Control/Concurrent.hs, libraries/base/Makefile,
libraries/base/include/HsBase.h, libraries/base/cbits/forkOS.c (new file)
simonmar [Tue, 16 Sep 2003 13:46:36 +0000 (13:46 +0000)]
[project @ 2003-09-16 13:46:36 by simonmar]
Don't strip the trailing slash from the filename '/'.
simonmar [Tue, 16 Sep 2003 13:03:37 +0000 (13:03 +0000)]
[project @ 2003-09-16 13:03:37 by simonmar]
Legacy Removal
~~~~~~~~~~~~~~
The following features have been consigned to the bit bucket:
_ccall_
_casm_
``....'' (lit-lits)
the CCallable class
the CReturnable class
simonmar [Fri, 12 Sep 2003 13:05:20 +0000 (13:05 +0000)]
[project @ 2003-09-12 13:05:19 by simonmar]
Implement pathconf()/fpathconf() wrappers.
simonmar [Fri, 12 Sep 2003 12:29:44 +0000 (12:29 +0000)]
[project @ 2003-09-12 12:29:43 by simonmar]
Move setChildStopFlag and queryChildStopFlag to System.Posix.Signals.
simonmar [Wed, 10 Sep 2003 14:45:24 +0000 (14:45 +0000)]
[project @ 2003-09-10 14:45:24 by simonmar]
Quick hack to work around the dynamic exception crashes in GHCi. The
problem is this: the Data.Typeable library (Data.Dymamic in previous
versions of GHC) maintains an internal cache mapping type names to
unique numbers, and this cache is used for fast comparisons on
TypeReps. In GHCi, there are actually two versions of the
Data.Typeable library loaded: one linked to GHCi itself, and the other
dynamically loaded, so there are two copies of the hash tables.
The problem is that if we have a Dynamic value generated using one set
of hash tables, it will erroneously appear to be of a different type
when the other hash tables are used.
The hack I've instigated is to use the central RTS genSym (which
already exists) to generate the unique Ids, so that the two copies of
the dynamic library will be using distinct Ids, and Dynamics from one
will never be recognisable to the other.
simonmar [Wed, 10 Sep 2003 11:46:58 +0000 (11:46 +0000)]
[project @ 2003-09-10 11:46:58 by simonmar]
The finalizer for a ForeignPtr created with mallocForeignPtr better
"touch#" the MutableByteArray# after running the other finalizers,
otherwise the memory might be garbage collected before we've finished
running the finalizers.
This can cause crashes if you add any extra finalizers to a ForeignPtr
created with mallocForeignPtr.
SourceForge bug: #802692
ross [Mon, 8 Sep 2003 16:23:58 +0000 (16:23 +0000)]
[project @ 2003-09-08 16:23:57 by ross]
ST doc adjustments
simonmar [Mon, 8 Sep 2003 14:14:37 +0000 (14:14 +0000)]
[project @ 2003-09-08 14:14:37 by simonmar]
Doc wibbles
ross [Fri, 5 Sep 2003 17:36:42 +0000 (17:36 +0000)]
[project @ 2003-09-05 17:36:40 by ross]
minimal docs
ross [Fri, 5 Sep 2003 15:06:48 +0000 (15:06 +0000)]
[project @ 2003-09-05 15:06:48 by ross]
doc tweaks
simonmar [Wed, 3 Sep 2003 10:49:19 +0000 (10:49 +0000)]
[project @ 2003-09-03 10:49:19 by simonmar]
inputReady(): the time calculation for select() was wrong, forgetting
to multiply the milliseconds value by 1000 to get microseconds.
ross [Tue, 2 Sep 2003 16:07:11 +0000 (16:07 +0000)]
[project @ 2003-09-02 16:07:08 by ross]
Deal with systems on which PATH_MAX is undefined, e.g. systems with
unlimited path length, like the Hurd (also faulty installations of gcc
on Solaris). In fact getCurrentDirectory only needs a long path size
to use as a first approximation, so give it that.
malcolm [Tue, 2 Sep 2003 15:31:02 +0000 (15:31 +0000)]
[project @ 2003-09-02 15:31:02 by malcolm]
For nhc98, take the corrected (thanks to Ross Paterson) version of
fixIO from NHC.IOExtras.
ross [Mon, 1 Sep 2003 09:12:07 +0000 (09:12 +0000)]
[project @ 2003-09-01 09:12:02 by ross]
H98 docs for Data.List
ross [Sun, 31 Aug 2003 18:41:30 +0000 (18:41 +0000)]
[project @ 2003-08-31 18:41:28 by ross]
doc tweaks
ross [Sat, 30 Aug 2003 23:01:50 +0000 (23:01 +0000)]
[project @ 2003-08-30 23:01:48 by ross]
minor haddock fixes
ross [Sat, 30 Aug 2003 22:55:42 +0000 (22:55 +0000)]
[project @ 2003-08-30 22:55:42 by ross]
docs for System.Environment & System.Exit
ross [Sat, 30 Aug 2003 12:26:58 +0000 (12:26 +0000)]
[project @ 2003-08-30 12:26:56 by ross]
docs for System.IO.Error
simonmar [Wed, 27 Aug 2003 11:03:44 +0000 (11:03 +0000)]
[project @ 2003-08-27 11:03:44 by simonmar]
isSpace should only recognise Latin-1 whitespace characters, according
to the report.
Perhaps we should have isUniSpace, too?
simonmar [Wed, 27 Aug 2003 08:41:07 +0000 (08:41 +0000)]
[project @ 2003-08-27 08:41:07 by simonmar]
Remove duplicate type signature
ross [Tue, 26 Aug 2003 20:41:46 +0000 (20:41 +0000)]
[project @ 2003-08-26 20:41:46 by ross]
Hugs only: remove unused argument from toClockTimePrim
ross [Tue, 26 Aug 2003 10:39:57 +0000 (10:39 +0000)]
[project @ 2003-08-26 10:39:55 by ross]
Document Data.Char from the H98 Report.
Note that the new implementations of isSpace and isDigit are inconsistent
with this documentation -- maybe two versions of them are needed?
ross [Sat, 23 Aug 2003 10:25:52 +0000 (10:25 +0000)]
[project @ 2003-08-23 10:25:52 by ross]
non-GHC only: hide functions defined in the Prelude
sof [Sat, 23 Aug 2003 00:08:02 +0000 (00:08 +0000)]
[project @ 2003-08-23 00:08:02 by sof]
[win32]renameFile:
Try bridging between GetLastError() error values and the
errno-based error handling code in System.Directory. As was,
errors ended up being reported as 'no errors'.
sof [Fri, 22 Aug 2003 23:44:40 +0000 (23:44 +0000)]
[project @ 2003-08-22 23:44:40 by sof]
pin better location info on IOErrors
sof [Fri, 22 Aug 2003 22:11:03 +0000 (22:11 +0000)]
[project @ 2003-08-22 22:11:03 by sof]
[GHC only]: Added missing 'config.h' #include ; needed by getProgName
Merge to STABLE.
panne [Fri, 22 Aug 2003 08:58:31 +0000 (08:58 +0000)]
[project @ 2003-08-22 08:58:30 by panne]
Added a workaround for the Haddock problems introduced by the circular
module dependencies regarding Unicode handling.
panne [Wed, 20 Aug 2003 15:54:45 +0000 (15:54 +0000)]
[project @ 2003-08-20 15:54:45 by panne]
Nuked FPTOOLS_O_BINARY test and use FP_CHECK_CONST instead, which is
shorter and better (e.g. cross compilation).
panne [Wed, 20 Aug 2003 15:44:19 +0000 (15:44 +0000)]
[project @ 2003-08-20 15:44:19 by panne]
* Cleaned up FP_CHECK_ALIGNMENT test a bit.
* Nuked FPTOOLS_CHECK_CCONST test in favour of a more general one
which handles cross compilation and languages different from C.
simonmar [Wed, 20 Aug 2003 10:22:44 +0000 (10:22 +0000)]
[project @ 2003-08-20 10:22:44 by simonmar]
Use the wide-char classifications from the C library if available.
This gives us Unicode-aware isLower, isUpper, isAlpha etc.
On Unix, you have to set your locale to something. This is usually
done by setting the environment variable LANG, eg.
export LANG=en
This stuff *should* also work on Windows, except that Windows uses a
16-bit wchar_t so will get it wrong for characters > '\xffff'. However,
I figured it was better to use the system-supplied functionality
rather than trying to implement this stuff ourselves.
simonmar [Tue, 19 Aug 2003 16:39:14 +0000 (16:39 +0000)]
[project @ 2003-08-19 16:39:13 by simonmar]
Use the wide-char classifications from the C library if available.
This gives us Unicode-aware isLower, isUpper, isAlpha etc.
On Unix, you have to set your locale to something. This is usually
done by setting the environment variable LANG, eg.
export LANG=en
This stuff *should* also work on Windows, except that Windows uses a
16-bit wchar_t so will get it wrong for characters > '\xffff'. However,
I figured it was better to use the system-supplied functionality
rather than trying to implement this stuff ourselves.
simonmar [Tue, 19 Aug 2003 16:34:11 +0000 (16:34 +0000)]
[project @ 2003-08-19 16:34:11 by simonmar]
Fix reversed flag in mkRegexWithOpts
simonmar [Tue, 19 Aug 2003 16:33:03 +0000 (16:33 +0000)]
[project @ 2003-08-19 16:33:03 by simonmar]
Fix incorrect Haddock syntax
panne [Mon, 18 Aug 2003 12:46:21 +0000 (12:46 +0000)]
[project @ 2003-08-18 12:46:21 by panne]
Revamped altzone detection. Note that we test only for successful
compilation now, not for successful linking, but this is what most
autoconf macros do.
ross [Mon, 11 Aug 2003 18:39:56 +0000 (18:39 +0000)]
[project @ 2003-08-11 18:39:56 by ross]
rename the cute presentations and use derived instances of Read and
Show, as suggested by Tomasz Zielonka.
ross [Mon, 11 Aug 2003 13:18:22 +0000 (13:18 +0000)]
[project @ 2003-08-11 13:18:22 by ross]
expose unsafeInterleaveIO to Hugs
malcolm [Fri, 8 Aug 2003 10:55:22 +0000 (10:55 +0000)]
[project @ 2003-08-08 10:55:22 by malcolm]
Adjust the default search path for building library packages with nhc98.
ross [Tue, 5 Aug 2003 17:25:31 +0000 (17:25 +0000)]
[project @ 2003-08-05 17:25:30 by ross]
fix some identifier links
ross [Tue, 5 Aug 2003 17:24:41 +0000 (17:24 +0000)]
[project @ 2003-08-05 17:24:40 by ross]
add type signatures for Haddock's benefit
ross [Tue, 5 Aug 2003 17:16:16 +0000 (17:16 +0000)]
[project @ 2003-08-05 17:16:16 by ross]
adjust exclusions for Hugs
panne [Tue, 5 Aug 2003 12:13:30 +0000 (12:13 +0000)]
[project @ 2003-08-05 12:13:29 by panne]
Moved QuickCheck into separate package
panne [Mon, 4 Aug 2003 18:40:47 +0000 (18:40 +0000)]
[project @ 2003-08-04 18:40:47 by panne]
Export HandlePosition
panne [Mon, 4 Aug 2003 18:20:44 +0000 (18:20 +0000)]
[project @ 2003-08-04 18:20:44 by panne]
Ooops, forgot one link in the last commit...
panne [Mon, 4 Aug 2003 18:07:50 +0000 (18:07 +0000)]
[project @ 2003-08-04 18:07:49 by panne]
Export ReadS from Text.ParserCombinators.ReadP, curing CPP trickery a bit
panne [Mon, 4 Aug 2003 17:52:33 +0000 (17:52 +0000)]
[project @ 2003-08-04 17:52:33 by panne]
Synched comments with reality
panne [Mon, 4 Aug 2003 17:30:53 +0000 (17:30 +0000)]
[project @ 2003-08-04 17:30:53 by panne]
Fixed hyperlink (at least for GHC docs :-)
panne [Mon, 4 Aug 2003 14:47:37 +0000 (14:47 +0000)]
[project @ 2003-08-04 14:47:37 by panne]
Fixed hyperlink
simonmar [Mon, 4 Aug 2003 14:41:55 +0000 (14:41 +0000)]
[project @ 2003-08-04 14:41:55 by simonmar]
Make a bunch of foreign imports "unsafe".
panne [Mon, 4 Aug 2003 13:49:28 +0000 (13:49 +0000)]
[project @ 2003-08-04 13:49:28 by panne]
Fixed hyperlink for exitWith
ross [Mon, 4 Aug 2003 10:05:33 +0000 (10:05 +0000)]
[project @ 2003-08-04 10:05:32 by ross]
docs copied from the report
panne [Fri, 1 Aug 2003 15:56:11 +0000 (15:56 +0000)]
[project @ 2003-08-01 15:56:11 by panne]
Warning police
ross [Fri, 1 Aug 2003 10:00:49 +0000 (10:00 +0000)]
[project @ 2003-08-01 10:00:48 by ross]
Swapped argument order of `newForeignPtr' and `addForeignPtrFinalizer'
to track FFI spec. (Maybe the Conc ones should do the same?)
This will break NHC.
ross [Fri, 1 Aug 2003 09:59:04 +0000 (09:59 +0000)]
[project @ 2003-08-01 09:59:04 by ross]
tiny doc fix
ross [Thu, 31 Jul 2003 17:45:30 +0000 (17:45 +0000)]
[project @ 2003-07-31 17:45:22 by ross]
move Parsec out of base into a package parsec (no code changes)
panne [Thu, 31 Jul 2003 10:48:51 +0000 (10:48 +0000)]
[project @ 2003-07-31 10:48:50 by panne]
Merge Foreign.C.TypesISO into Foreign.C.Types
ralf [Thu, 31 Jul 2003 09:28:47 +0000 (09:28 +0000)]
[project @ 2003-07-31 09:28:47 by ralf]
Cosmetic changes.
Documentation of Data.Generics at
http://www.cs.vu.nl/boilerplate/
is now also again well in line with the major
revision of Data.Generics from last week.
ralf [Wed, 30 Jul 2003 08:13:16 +0000 (08:13 +0000)]
[project @ 2003-07-30 08:13:16 by ralf]
Rolled back to newtype now that the compiler does not panic anymore
for the module Data/Generics/Text.hs.
ross [Tue, 29 Jul 2003 12:36:52 +0000 (12:36 +0000)]
[project @ 2003-07-29 12:36:52 by ross]
exclude Data.Generics.*
ross [Tue, 29 Jul 2003 12:03:17 +0000 (12:03 +0000)]
[project @ 2003-07-29 12:03:13 by ross]
trim imports
panne [Mon, 28 Jul 2003 15:03:09 +0000 (15:03 +0000)]
[project @ 2003-07-28 15:03:05 by panne]
Markup fixes
malcolm [Mon, 28 Jul 2003 12:11:46 +0000 (12:11 +0000)]
[project @ 2003-07-28 12:11:46 by malcolm]
Use new Data.Dynamic/Data.Typeable story in nhc98.
ralf [Sat, 26 Jul 2003 12:44:00 +0000 (12:44 +0000)]
[project @ 2003-07-26 12:43:58 by ralf]
Renamed Data/Generics/Strings to .../Text.
Implemented generic read by using Text/ParserCombinators/ReadP.
This is now how it really should look like.
Did some more refactoring in the modules of Data/Generics.
I consider the library relatively stable by now.
Very experimental stuff is only in Data/Generics/Reify.hs
(
I was a bit too optimistic yesterday regarding the
commitibility of Data/Generics. SPJ wanted me to use
Text/ParserCombinators/ReadP for generic read what I
did, which revealed a funny compiler bug. SPJ will
probably report on this very soon.
The compiler does not panic if I turn
ReadP from a newtype into a datatype, what I have temporarily
done. I hope this is Ok for the moment.
)
simonpj [Fri, 25 Jul 2003 15:03:38 +0000 (15:03 +0000)]
[project @ 2003-07-25 15:03:38 by simonpj]
Wibbles to gread; Ralf to check
ralf [Fri, 25 Jul 2003 14:36:50 +0000 (14:36 +0000)]
[project @ 2003-07-25 14:36:38 by ralf]
Data.Generics is up and running again!
The testsuite is passed 100% successful.
Much of the Data.Generics code looks better.
So the transition to a new Data class and
the deriving support is completed.
Some detailed changes:
- Rolled back type change for gmapQ.
(We rather added gmapQl and gmapQr.)
- Renamed gmapF and other "F" to Mp like MonadPlus.
- Reconstructed gread.
simonmar [Fri, 25 Jul 2003 10:03:51 +0000 (10:03 +0000)]
[project @ 2003-07-25 10:03:51 by simonmar]
regcomp: don't attach the regfree finalizer if c_regcomp failed.
ralf [Thu, 24 Jul 2003 16:24:22 +0000 (16:24 +0000)]
[project @ 2003-07-24 16:24:21 by ralf]
Addressed Ross' concerns as follows:
Included all of Data/Types.hs into Data/Typeable.hs.
It really makes sense there anyway.
simonpj [Thu, 24 Jul 2003 15:28:07 +0000 (15:28 +0000)]
[project @ 2003-07-24 15:28:06 by simonpj]
Minor bugs in generics
ross [Thu, 24 Jul 2003 15:13:44 +0000 (15:13 +0000)]
[project @ 2003-07-24 15:13:44 by ross]
exclude Data.Generics.* from Hugs
panne [Thu, 24 Jul 2003 14:20:23 +0000 (14:20 +0000)]
[project @ 2003-07-24 14:20:23 by panne]
Quick fix from Ross to get the Hugs builds working again. I'm not sure
what the right fix is, e.g. is moving sameType to Data.Types enough?
simonmar [Thu, 24 Jul 2003 13:53:20 +0000 (13:53 +0000)]
[project @ 2003-07-24 13:53:20 by simonmar]
Make pre-processing primops.txt from this directory work properly.
ralf [Thu, 24 Jul 2003 12:20:00 +0000 (12:20 +0000)]
[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.