Ian Lynagh [Wed, 20 May 2009 17:53:58 +0000 (17:53 +0000)]
Add wrappers around fcntl
We need to do this as it has a (, ...) type, which we aren't allowed to
directly call with the FFI.
Ian Lynagh [Fri, 24 Apr 2009 16:07:01 +0000 (16:07 +0000)]
Add more bang patterns, needed to fix the 32bit build
Ian Lynagh [Fri, 24 Apr 2009 12:53:20 +0000 (12:53 +0000)]
Use a bang pattern when we where/let-bind values with unlifted types
Simon Marlow [Thu, 23 Apr 2009 11:28:37 +0000 (11:28 +0000)]
FIX #3171: make sure we have only one table of signal handlers
Ian Lynagh [Fri, 10 Apr 2009 16:40:13 +0000 (16:40 +0000)]
Fix QSem and QSemN: Initial amount must be non-negative
simonpj@microsoft.com [Fri, 3 Apr 2009 09:17:50 +0000 (09:17 +0000)]
Don't inline enumDeltaToInteger until its rules have had a chance to fire
simonpj@microsoft.com [Fri, 3 Apr 2009 09:11:18 +0000 (09:11 +0000)]
Import GHC.Err so we see bottoming functions properly
Before this patch, GHC/Err.lhs-boot exported divZeroError and overflowError,
as well as plain 'error'. The latter has a wired-in defn in GHC (MkId.lhs),
but the former two do not. As a result GHC doesn't see that overflowError
is a bottoming function at a crucial moment when compiling GHC.Real, and
that means that divMod wasn't getting the CPR property.
The fix is easy:
- GHC/Err.lhs-boot should export only 'error'
- GHC.Real, GHC.Int, and GHC.Word should import GHC.Err
directly. They can do this nowadays without creating
a module loop, thanks to the new exception story
simonpj@microsoft.com [Fri, 3 Apr 2009 09:08:44 +0000 (09:08 +0000)]
Don't inline unpackCString
There's no point in inlining unpackCString, so this patch adds a
NOINLINE pragma. (Otherwise, it's just on the threshold.)
Malcolm.Wallace@cs.york.ac.uk [Wed, 1 Apr 2009 12:20:28 +0000 (12:20 +0000)]
be sure to install Nhc98BaseConfig.h
Ian Lynagh [Mon, 30 Mar 2009 22:52:41 +0000 (22:52 +0000)]
Avoid unnecessarily using Integer when decoding Floats
Ian Lynagh [Fri, 27 Mar 2009 23:21:18 +0000 (23:21 +0000)]
Add another Data.List.intersect example from Christian Maeder
Ian Lynagh [Tue, 24 Mar 2009 14:53:25 +0000 (14:53 +0000)]
Remove some redundant fromInteger's
Ian Lynagh [Sun, 22 Mar 2009 16:22:41 +0000 (16:22 +0000)]
Add an import needed in the new build system
Malcolm.Wallace@cs.york.ac.uk [Mon, 16 Mar 2009 13:45:32 +0000 (13:45 +0000)]
ghcconfig.h is __GLASGOW_HASKELL__ only
Malcolm.Wallace@cs.york.ac.uk [Mon, 16 Mar 2009 12:56:51 +0000 (12:56 +0000)]
Fix layout to comply with H'98.
Also, configure correctly for nhc98, to avoid win32 code.
Simon Marlow [Thu, 5 Mar 2009 11:33:23 +0000 (11:33 +0000)]
FIX #2189: re-enabled cooked mode for Console-connected Handles on Windows
Patch from Sigbjorn Finne <sof@galois.com>
Simon Marlow [Wed, 11 Mar 2009 09:39:38 +0000 (09:39 +0000)]
avoid a space leak building up in the "prodding" IORef (part of #2992)
Simon Marlow [Thu, 5 Mar 2009 15:41:53 +0000 (15:41 +0000)]
Partial fix for #2917
- add newAlignedPinnedByteArray# for allocating pinned BAs with
arbitrary alignment
- the old newPinnedByteArray# now aligns to 16 bytes
Foreign.alloca will use newAlignedPinnedByteArray#, and so might end
up wasting less space than before (we used to align to 8 by default).
Foreign.allocaBytes and Foreign.mallocForeignPtrBytes will get 16-byte
aligned memory, which is enough to avoid problems with SSE
instructions on x86, for example.
There was a bug in the old newPinnedByteArray#: it aligned to 8 bytes,
but would have failed if the header was not a multiple of 8
(fortunately it always was, even with profiling). Also we
occasionally wasted some space unnecessarily due to alignment in
allocatePinned().
I haven't done anything about Foreign.malloc/mallocBytes, which will
give you the same alignment guarantees as malloc() (8 bytes on
Linux/x86 here).
Ian Lynagh [Sat, 7 Mar 2009 15:38:31 +0000 (15:38 +0000)]
Add config.guess, config.sub and install-sh
Simon Marlow [Thu, 5 Mar 2009 12:04:26 +0000 (12:04 +0000)]
add final newline; fix build (on Windows?)
Simon Marlow [Thu, 5 Mar 2009 11:33:23 +0000 (11:33 +0000)]
FIX #2189: re-enabled cooked mode for Console-connected Handles on Windows
Patch from Sigbjorn Finne <sof@galois.com>
naur@post11.tele.dk [Sat, 7 Feb 2009 18:14:27 +0000 (18:14 +0000)]
Rules to make genericLength strict for Int/Integer lengths, see #2962
Jose Pedro Magalhaes [Thu, 12 Feb 2009 13:23:27 +0000 (13:23 +0000)]
#2759: Amend previous patch
Ian Lynagh [Fri, 20 Feb 2009 17:30:41 +0000 (17:30 +0000)]
ifdef out the definition of setCloseOnExec on Windows; fixes the build
Ian Lynagh [Fri, 20 Feb 2009 17:39:41 +0000 (17:39 +0000)]
Fix warnings: put imports inside ifdefs
Ian Lynagh [Fri, 20 Feb 2009 17:34:14 +0000 (17:34 +0000)]
ifdef out the syncIOManager export on Windows; fixes the build
Simon Marlow [Thu, 19 Feb 2009 11:42:17 +0000 (11:42 +0000)]
Set the IO manager pipe descriptors to FD_CLOEXEC
This pipe is an internal implementation detail, we don't really want
it to be exposed.
Simon Marlow [Thu, 19 Feb 2009 10:22:03 +0000 (10:22 +0000)]
Rewrite of signal-handling (base patch; see also ghc and unix patches)
The API is the same (for now). The new implementation has the
capability to define signal handlers that have access to the siginfo
of the signal (#592), but this functionality is not exposed in this
patch.
#2451 is the ticket for the new API.
The main purpose of bringing this in now is to fix race conditions in
the old signal handling code (#2858). Later we can enable the new
API in the HEAD.
Implementation differences:
- More of the signal-handling is moved into Haskell. We store the
table of signal handlers in an MVar, rather than having a table of
StablePtrs in the RTS.
- In the threaded RTS, the siginfo of the signal is passed down the
pipe to the IO manager thread, which manages the business of
starting up new signal handler threads. In the non-threaded RTS,
the siginfo of caught signals is stored in the RTS, and the
scheduler starts new signal handler threads.
Simon Marlow [Fri, 6 Feb 2009 16:59:12 +0000 (16:59 +0000)]
Fix #2971: we had lost the non-blocking flag on Handles created by openFile
This code is a mess, fortunately the new IO library cleans it up.
Simon Marlow [Thu, 5 Feb 2009 15:06:42 +0000 (15:06 +0000)]
add some rules of thumb for catching exceptions, restructure the docs a bit
Malcolm.Wallace@cs.york.ac.uk [Fri, 6 Feb 2009 17:33:14 +0000 (17:33 +0000)]
implement System.IO.Error more fully for nhc98
Malcolm.Wallace@cs.york.ac.uk [Fri, 6 Feb 2009 11:11:52 +0000 (11:11 +0000)]
Make System.Posix.Internals buildable by nhc98.
Ross Paterson [Tue, 3 Feb 2009 01:10:26 +0000 (01:10 +0000)]
Fix #2903: ensure CWStringLen contains the length of the array rather than the String
Ian Lynagh [Mon, 2 Feb 2009 15:18:56 +0000 (15:18 +0000)]
OldException catches unknown exceptions as DynException
It's important that we put all exceptions into the old Exception
type somehow, or throwing a new exception wouldn't cause the
cleanup code for bracket, finally etc to happen.
Ian Lynagh [Sat, 31 Jan 2009 20:48:45 +0000 (20:48 +0000)]
Update the Exception docs
Ian Lynagh [Thu, 22 Jan 2009 01:12:51 +0000 (01:12 +0000)]
Require Cabal version >= 1.6
Ian Lynagh [Wed, 21 Jan 2009 18:20:10 +0000 (18:20 +0000)]
Add "bug-reports" and "source-repository" info to the Cabal file
Jose Pedro Magalhaes [Fri, 16 Jan 2009 14:26:17 +0000 (14:26 +0000)]
Proposal #2875: remove StringRep and StringConstr
Jose Pedro Magalhaes [Fri, 16 Jan 2009 14:06:55 +0000 (14:06 +0000)]
Fix #2759: add mkRealConstr and mkIntegralConstr, deprecate mkFloatConstr and mkIntConstr
Jose Pedro Magalhaes [Thu, 11 Dec 2008 14:47:16 +0000 (14:47 +0000)]
Correct SYB's representation of Char
Ross Paterson [Sun, 18 Jan 2009 01:15:08 +0000 (01:15 +0000)]
avoid `mappend` in monoid laws, because it doesn't work with haddock
Ian Lynagh [Wed, 14 Jan 2009 23:45:12 +0000 (23:45 +0000)]
Make Data.Typeable imports and exports more explicit
Ross Paterson [Fri, 16 Jan 2009 15:16:24 +0000 (15:16 +0000)]
add Monoid laws
Malcolm.Wallace@cs.york.ac.uk [Fri, 16 Jan 2009 11:01:32 +0000 (11:01 +0000)]
Unbreak an import cycle caused by moving 'catch' definitions around.
The new cycle was introduced for nhc98 only.
Ross Paterson [Thu, 15 Jan 2009 22:24:41 +0000 (22:24 +0000)]
make the Monoid docs more self-contained
Ian Lynagh [Wed, 14 Jan 2009 21:10:33 +0000 (21:10 +0000)]
Move some catch definitions around to avoid an import loop
As suggested by simonpj in trac #2822.
Ian Lynagh [Wed, 14 Jan 2009 20:28:10 +0000 (20:28 +0000)]
Add NoImplicitPrelude to the extensions used when building with GHC
Simon Marlow [Wed, 14 Jan 2009 13:46:12 +0000 (13:46 +0000)]
#2699: exit silently for EPIPE on stdout
Ian Lynagh [Mon, 5 Jan 2009 10:20:20 +0000 (10:20 +0000)]
Fix build when we have HTYPE_TCFLAG_T
Ian Lynagh [Mon, 5 Jan 2009 01:46:25 +0000 (01:46 +0000)]
Fix the build on Windows
Ian Lynagh [Sun, 4 Jan 2009 17:30:18 +0000 (17:30 +0000)]
Add errno to the IOError type
Ian Lynagh [Sun, 4 Jan 2009 15:44:05 +0000 (15:44 +0000)]
Fix typo (reqwests -> requests); trac #2908, spotted by bancroft
simonpj@microsoft.com [Fri, 2 Jan 2009 14:53:25 +0000 (14:53 +0000)]
More compact error messages for record selectors
Make recSelError generate the standard part of the record selector
error message (i.e. "No match in record selector") rather than have
that string duplicated for every record selector.
Simon Marlow [Wed, 17 Dec 2008 10:46:55 +0000 (10:46 +0000)]
extra dependencies for the new build system
Simon Marlow [Wed, 17 Dec 2008 10:46:37 +0000 (10:46 +0000)]
warning fix: don't use -XPatternSignatures in GHC >= 6.10
Simon Marlow [Tue, 16 Dec 2008 10:41:43 +0000 (10:41 +0000)]
Rollback INLINE patches
rolling back:
Fri Dec 5 17:00:15 GMT 2008 simonpj@microsoft.com
* Update INLINE pragmas for new INLINE story
- (.) and foldr should inline when applied to only two arguments
- Make unpackCString# NOINLINE; it inlines too much (with little gain)
M ./GHC/Base.lhs -10 +31
Ivan Tomac [Wed, 10 Dec 2008 15:05:10 +0000 (15:05 +0000)]
FIX #1364: added support for C finalizers that run as soon as the value is no longer reachable.
Patch amended by Simon Marlow:
- mkWeakFinalizer# commoned up with mkWeakFinalizerEnv#
Jose Pedro Magalhaes [Fri, 21 Nov 2008 14:19:05 +0000 (14:19 +0000)]
Fix #2760: deprecate mkNorepType, add mkNoRepType
simonpj@microsoft.com [Fri, 5 Dec 2008 17:00:15 +0000 (17:00 +0000)]
Update INLINE pragmas for new INLINE story
- (.) and foldr should inline when applied to only two arguments
- Make unpackCString# NOINLINE; it inlines too much (with little gain)
Jose Pedro Magalhaes [Mon, 1 Dec 2008 11:34:11 +0000 (11:34 +0000)]
Fix #2750: change Prelude.(,) to Prelude.(,,)
shelarcy [Sat, 29 Nov 2008 02:46:39 +0000 (02:46 +0000)]
Fix typo (or out of date reference) in throwTo documentation.
Ian Lynagh [Wed, 19 Nov 2008 14:31:31 +0000 (14:31 +0000)]
Add more description of what "round" does, from the H98 report
Simon Marlow [Thu, 20 Nov 2008 10:18:26 +0000 (10:18 +0000)]
re-instate the gcd/Integer and lcm/Integer RULES
Fixes a performance regression between 6.8.3 and 6.10.1
Ian Lynagh [Sun, 16 Nov 2008 16:02:28 +0000 (16:02 +0000)]
Change an "undefined" into a more informative error; trac #2782
jpm@cs.uu.nl [Tue, 11 Nov 2008 09:50:23 +0000 (09:50 +0000)]
updating Haddock documentation
Fixed the broken link from Data.Generics to Data.Data.
Simon Marlow [Thu, 6 Nov 2008 09:54:19 +0000 (09:54 +0000)]
add GHC.Conc.runSparks (required by GHC patch "Run sparks in batches")
Ross Paterson [Tue, 4 Nov 2008 14:45:15 +0000 (14:45 +0000)]
FIX #2722: update RULES for the Category/Arrow split
The rule
arr id = id
interacts unpleasantly with the advice to define
id = arr id
in instances of Category that are also instances of Arrow (#2722).
Also changed a couple of >>>'s to .'s in later rules.
Max Bolingbroke [Thu, 16 Oct 2008 12:26:08 +0000 (12:26 +0000)]
Add AnnotationWrapper type so GHC can capture annotation dictionaries during compilation
Simon Marlow [Thu, 16 Oct 2008 10:04:10 +0000 (10:04 +0000)]
docs about how exceptions are handled by forkIO'd threads (#2651)
Clemens Fruhwirth [Mon, 13 Oct 2008 16:12:20 +0000 (16:12 +0000)]
Import n_capabilities via import symbol when linking dynamically
jpm@cs.uu.nl [Mon, 13 Oct 2008 11:16:05 +0000 (11:16 +0000)]
add link to the new syb wiki
jpm@cs.uu.nl [Fri, 10 Oct 2008 09:54:34 +0000 (09:54 +0000)]
changing haddock links
Simon Marlow [Fri, 10 Oct 2008 11:38:35 +0000 (11:38 +0000)]
add readTVarIO :: TVar a -> IO a
jpm@cs.uu.nl [Mon, 6 Oct 2008 07:52:54 +0000 (07:52 +0000)]
removed (->) instance from Data.Data
Ross Paterson [Tue, 7 Oct 2008 13:48:09 +0000 (13:48 +0000)]
non-GHC: delete unnecessary imports
'Jose Pedro Magalhaes [Thu, 2 Oct 2008 14:05:35 +0000 (14:05 +0000)]
added new module Data.Data
The new Data.Data module contains all of Data.Generics.Basics
and most of Data.Generics.Instances. The missing instances were
deemed dubious and moved to the syb package.
'Jose Pedro Magalhaes [Thu, 2 Oct 2008 08:27:35 +0000 (08:27 +0000)]
add new Data.Data module
'Jose Pedro Magalhaes [Thu, 2 Oct 2008 08:26:55 +0000 (08:26 +0000)]
restore Complex's derived Data instance
'Jose Pedro Magalhaes [Thu, 2 Oct 2008 08:26:04 +0000 (08:26 +0000)]
update Data.Generics import
Ian Lynagh [Sat, 4 Oct 2008 14:26:51 +0000 (14:26 +0000)]
Don't use ^(2::Int) in Data.Complex.magnitude; partially fixes trac #2450
We still might want to make a RULE for this, so the bug is not fully fixed.
Simon Marlow [Tue, 23 Sep 2008 13:49:49 +0000 (13:49 +0000)]
Restore the Haskell 98 behaviour of Show Ratio (#1920)
Ian Lynagh [Sat, 20 Sep 2008 15:58:01 +0000 (15:58 +0000)]
Pad version number to 4.0.0.0
Malcolm.Wallace@cs.york.ac.uk [Wed, 17 Sep 2008 07:53:26 +0000 (07:53 +0000)]
In nhc98, Word is a type synonym, so class instance is not possible.
Simon Marlow [Tue, 16 Sep 2008 13:35:05 +0000 (13:35 +0000)]
Fix bugs in Text.Printf (#1548)
Simon Marlow [Fri, 12 Sep 2008 13:49:01 +0000 (13:49 +0000)]
We should be including Rts.h here, not Stg.h
Stg.h is for .hc files only, and it sets up various global register
variables.
<unknown> [Fri, 22 Aug 2008 02:27:55 +0000 (02:27 +0000)]
Generic functions that take integral arguments should work the same way as their prelude counterparts
The Prelude functions drop, take, and splitAt are unfailing (never call error). This patch changes the Data.List generic versions to behave the same way. At present, they call error on negative arguments.
Ian Lynagh [Thu, 4 Sep 2008 20:28:45 +0000 (20:28 +0000)]
Don't define __hscore_s_issock on Windows
Ian Lynagh [Thu, 4 Sep 2008 18:51:22 +0000 (18:51 +0000)]
Unbreak the GHC build with older versions of gcc
Patch from kili@outback.escape.de, who says:
Stg.h must be included before HsBase.h, because the latter contains
function definitions causing older versions of gcc (3.3.5 in my
case) to bail out with "error: global register variable follows a
function definition" on Regs.h, which is included by Stg.h.
Ian Lynagh [Thu, 4 Sep 2008 16:42:34 +0000 (16:42 +0000)]
Don't make S_ISSOCK use conditional
We were conditionally defining the C wrapper, but unconditionally using
it. So if it didn't exist then things would have broken anyway.
Ian Lynagh [Thu, 4 Sep 2008 10:09:51 +0000 (10:09 +0000)]
Add missing files
Ian Lynagh [Wed, 3 Sep 2008 20:19:08 +0000 (20:19 +0000)]
Remerge concurrent,unique,timeout,st,getopt into base
Ross Paterson [Wed, 3 Sep 2008 14:44:36 +0000 (14:44 +0000)]
remove 'pure' method from Arrow class (#2517)
Ross Paterson [Wed, 3 Sep 2008 11:35:43 +0000 (11:35 +0000)]
make Typeable instances for larger tuples available to non-GHC
Ian Lynagh [Tue, 2 Sep 2008 22:47:30 +0000 (22:47 +0000)]
Don't look for actual OldException.Exception exceptions
We don't actually throw them (we throw the new Exception equivalents
instead), and looking for them was causing an infinite loop
Ross Paterson [Tue, 2 Sep 2008 15:30:29 +0000 (15:30 +0000)]
add include/CTypes.h to extra-source-files
Ross Paterson [Tue, 2 Sep 2008 08:01:13 +0000 (08:01 +0000)]
avoid relying on the implementation of SomeException
This is because Hugs uses a different implementation.
No semantic change.
Ross Paterson [Sun, 31 Aug 2008 18:02:27 +0000 (18:02 +0000)]
non-GHC: leave out Belch functions
Ross Paterson [Sun, 31 Aug 2008 18:00:48 +0000 (18:00 +0000)]
non-GHC: add Typeable instance for ForeignPtr
Simon Marlow [Tue, 2 Sep 2008 09:31:26 +0000 (09:31 +0000)]
docs: mention that killThread on a completed thread is a no-op
Simon Marlow [Tue, 2 Sep 2008 09:29:50 +0000 (09:29 +0000)]
#2528: reverse the order of args to (==) in nubBy to match nub
This only makes a difference when the (==) definition is not
reflexive, but strictly speaking it does violate the report definition
of nubBy, so we should fix it.