ghc-hetmet.git
14 years agoRTS tidyup sweep, first phase
Simon Marlow [Sun, 2 Aug 2009 21:32:04 +0000 (21:32 +0000)]
RTS tidyup sweep, first phase

The first phase of this tidyup is focussed on the header files, and in
particular making sure we are exposinng publicly exactly what we need
to, and no more.

 - Rts.h now includes everything that the RTS exposes publicly,
   rather than a random subset of it.

 - Most of the public header files have moved into subdirectories, and
   many of them have been renamed.  But clients should not need to
   include any of the other headers directly, just #include the main
   public headers: Rts.h, HsFFI.h, RtsAPI.h.

 - All the headers needed for via-C compilation have moved into the
   stg subdirectory, which is self-contained.  Most of the headers for
   the rest of the RTS APIs have moved into the rts subdirectory.

 - I left MachDeps.h where it is, because it is so widely used in
   Haskell code.

 - I left a deprecated stub for RtsFlags.h in place.  The flag
   structures are now exposed by Rts.h.

 - Various internal APIs are no longer exposed by public header files.

 - Various bits of dead code and declarations have been removed

 - More gcc warnings are turned on, and the RTS code is more
   warning-clean.

 - More source files #include "PosixSource.h", and hence only use
   standard POSIX (1003.1c-1995) interfaces.

There is a lot more tidying up still to do, this is just the first
pass.  I also intend to standardise the names for external RTS APIs
(e.g use the rts_ prefix consistently), and declare the internal APIs
as hidden for shared libraries.

14 years agoreplace sparc-specific Int64 code with calls to platform-independent macros
Simon Marlow [Mon, 27 Jul 2009 21:51:03 +0000 (21:51 +0000)]
replace sparc-specific Int64 code with calls to platform-independent macros

14 years agoremove old incarnation of .NET support
Simon Marlow [Sun, 28 Jun 2009 21:11:47 +0000 (21:11 +0000)]
remove old incarnation of .NET support

14 years agoWindows build fix
Simon Marlow [Mon, 3 Aug 2009 14:49:31 +0000 (14:49 +0000)]
Windows build fix

14 years agorts_stop_on_exception is a C int, not a W_
Simon Marlow [Mon, 3 Aug 2009 12:49:16 +0000 (12:49 +0000)]
rts_stop_on_exception is a C int, not a W_
amazing this hasn't caused any problems before now

14 years agoFix #3412: the worker of an Id might not be a local Id
Simon Marlow [Mon, 3 Aug 2009 11:28:03 +0000 (11:28 +0000)]
Fix #3412: the worker of an Id might not be a local Id

14 years agoAdd -r option to darcs-all, and remove push-all (#3375)
Simon Marlow [Mon, 3 Aug 2009 10:44:13 +0000 (10:44 +0000)]
Add -r option to darcs-all, and remove push-all (#3375)
Contributed by: seliopou@gmail.com

This patch modifies darcs-all to have feature parity with push-all by
recognizing two new options.

    * -i, equivalent to --ignore-failure in push-all
    * -r <repo>, specifies the remote repository darcs commands will use

Some example commands:

Get the libraries from a repository of your choosing. This is useful
when working with a git mirror:

    $ ./darcs-all -r http://darcs.haskell.org get

Pull changes. Used to be:

    $ ./push-all --pull http://darcs.haskell.org

Is now:

    $ ./darcs-all -r http://darcs.haskell.org pull

Or to use the default remote of the ghc repository:

    $ ./darcs-all pull

14 years agoremove dead code
Simon Marlow [Sat, 20 Jun 2009 21:41:13 +0000 (21:41 +0000)]
remove dead code

14 years agofix warnings
Simon Marlow [Wed, 29 Jul 2009 13:43:48 +0000 (13:43 +0000)]
fix warnings

14 years agoImplement "ghc --abi-hash M1 M2 ..."
Simon Marlow [Wed, 29 Jul 2009 13:21:25 +0000 (13:21 +0000)]
Implement "ghc --abi-hash M1 M2 ..."
This prints a combined hash of the ABIs exposed by the modules listed
on the command line.  It will be used by Cabal for generating a
package Id based on the actual ABI of a package.

14 years agoClean GMP properly; fixes #3411
Ian Lynagh [Sun, 2 Aug 2009 19:57:59 +0000 (19:57 +0000)]
Clean GMP properly; fixes #3411

14 years agoFix permissions when installing
Ian Lynagh [Sun, 2 Aug 2009 16:12:37 +0000 (16:12 +0000)]
Fix permissions when installing

14 years agoFix creation of library doc index, and put the library docs in bindists
Ian Lynagh [Sun, 2 Aug 2009 11:42:02 +0000 (11:42 +0000)]
Fix creation of library doc index, and put the library docs in bindists

14 years agoRemove a TODO item that's been done
Ian Lynagh [Sun, 2 Aug 2009 10:39:44 +0000 (10:39 +0000)]
Remove a TODO item that's been done

14 years agoAdd a publish-docs rule
Ian Lynagh [Sat, 1 Aug 2009 22:41:55 +0000 (22:41 +0000)]
Add a publish-docs rule

14 years agoAdd docs to bindists
Ian Lynagh [Sat, 1 Aug 2009 22:25:51 +0000 (22:25 +0000)]
Add docs to bindists

14 years agoFix "make show" in a bindist
Ian Lynagh [Sat, 1 Aug 2009 21:26:04 +0000 (21:26 +0000)]
Fix "make show" in a bindist

14 years agoMake the new build system install the documentation
Ian Lynagh [Sat, 1 Aug 2009 20:46:24 +0000 (20:46 +0000)]
Make the new build system install the documentation

14 years agowhitespace tweaks in rules/docbook.mk
Ian Lynagh [Sat, 1 Aug 2009 19:52:21 +0000 (19:52 +0000)]
whitespace tweaks in rules/docbook.mk

14 years agoFix configure when alex/happy are installed to a directory containing spaces
Ian Lynagh [Sat, 1 Aug 2009 18:28:17 +0000 (18:28 +0000)]
Fix configure when alex/happy are installed to a directory containing spaces

14 years agoAllow more than 64k instructions in a BCO; fixes #789
Ian Lynagh [Sat, 1 Aug 2009 15:32:03 +0000 (15:32 +0000)]
Allow more than 64k instructions in a BCO; fixes #789

14 years agoIf ghci runs out of labels, panic
Ian Lynagh [Sat, 1 Aug 2009 13:28:29 +0000 (13:28 +0000)]
If ghci runs out of labels, panic

14 years agoFix the 64k insns overflow check in ghci, and add more checks
Ian Lynagh [Sat, 1 Aug 2009 13:00:14 +0000 (13:00 +0000)]
Fix the 64k insns overflow check in ghci, and add more checks

14 years agoFix cleaning the integer package
Ian Lynagh [Thu, 30 Jul 2009 14:31:29 +0000 (14:31 +0000)]
Fix cleaning the integer package

14 years agoFix warnings when building with the HEAD
Ian Lynagh [Thu, 30 Jul 2009 14:30:31 +0000 (14:30 +0000)]
Fix warnings when building with the HEAD

14 years agoRemove some redundant fromIntegral's
Ian Lynagh [Thu, 30 Jul 2009 10:55:32 +0000 (10:55 +0000)]
Remove some redundant fromIntegral's

14 years agoFix space problems in ghci
Ian Lynagh [Thu, 30 Jul 2009 10:53:51 +0000 (10:53 +0000)]
Fix space problems in ghci
We were making arrays with range (0, n-1) which is bad if n == 0 now
that we are using Word types.

14 years agoMake the types we use when creating GHCi bytecode better match reality
Ian Lynagh [Wed, 29 Jul 2009 13:09:11 +0000 (13:09 +0000)]
Make the types we use when creating GHCi bytecode better match reality
We were keeping things as Int, and then converting them to Word16 at
the last minute, when really they ought to have been Word16 all along.

14 years agoAdd an (Outputable Word16) instance
Ian Lynagh [Tue, 28 Jul 2009 13:44:36 +0000 (13:44 +0000)]
Add an (Outputable Word16) instance

14 years agoFix whitespace in ByteCodeAsm.lhs
Ian Lynagh [Tue, 28 Jul 2009 12:34:44 +0000 (12:34 +0000)]
Fix whitespace in ByteCodeAsm.lhs

14 years agoAdd CHECK(p), like ASSERT(p) but works even when !defined(DEBUG)
Simon Marlow [Wed, 29 Jul 2009 07:54:33 +0000 (07:54 +0000)]
Add CHECK(p), like ASSERT(p) but works even when !defined(DEBUG)
For inexpensive assertions

14 years agoenable the x86-specific versions of atomic_inc()/atomic_dec()
Simon Marlow [Wed, 29 Jul 2009 07:53:07 +0000 (07:53 +0000)]
enable the x86-specific versions of atomic_inc()/atomic_dec()

14 years agofix warning
Simon Marlow [Tue, 28 Jul 2009 10:38:55 +0000 (10:38 +0000)]
fix warning

14 years agofix warning
Simon Marlow [Tue, 28 Jul 2009 10:27:07 +0000 (10:27 +0000)]
fix warning

14 years agofix a warning
Simon Marlow [Tue, 28 Jul 2009 10:17:31 +0000 (10:17 +0000)]
fix a warning

14 years agoBe a bit more sensible about choosing external OccNames
Simon Marlow [Tue, 28 Jul 2009 10:04:34 +0000 (10:04 +0000)]
Be a bit more sensible about choosing external OccNames

Instead of chr_$wchr, we now just get $wchr.  In general, when an
OccName is system-generated, we leave it out of the final external
name, preferring to use the name of the exported parent instead (which
is necessarily a user-written name).

Names should be no less deterministic, but should be shorter and more
readable.

14 years agoRemove old 'foreign import dotnet' code
Simon Marlow [Mon, 27 Jul 2009 14:45:24 +0000 (14:45 +0000)]
Remove old 'foreign import dotnet' code
It still lives in darcs, if anyone wants to revive it sometime.

14 years agoremove a couple of ToDos
Simon Marlow [Mon, 27 Jul 2009 09:47:19 +0000 (09:47 +0000)]
remove a couple of ToDos

14 years agobuildinfo files need a $$(wildcard)
Simon Marlow [Mon, 27 Jul 2009 09:10:12 +0000 (09:10 +0000)]
buildinfo files need a $$(wildcard)

14 years agoSlight tweak to avoid overflowing the command-line size in bindist
Simon Marlow [Mon, 27 Jul 2009 09:09:46 +0000 (09:09 +0000)]
Slight tweak to avoid overflowing the command-line size in bindist
Not a real fix: if this bites us again we'll have to rethink

14 years agoavoid (benign) error about overriding rules for binary-dist
Simon Marlow [Mon, 27 Jul 2009 09:09:03 +0000 (09:09 +0000)]
avoid (benign) error about overriding rules for binary-dist

14 years agoGive a better error message for hidden packages when building Cabal package
Ian Lynagh [Sun, 26 Jul 2009 19:49:15 +0000 (19:49 +0000)]
Give a better error message for hidden packages when building Cabal package
Fixes #3168

14 years agoAdd a -fbuilding-cabal-package flag
Ian Lynagh [Sun, 26 Jul 2009 18:19:34 +0000 (18:19 +0000)]
Add a -fbuilding-cabal-package flag
This means GHC knows whether it's building a Cabal package, or just
Haskell sources. For example, it may wish to give different error
messages when building a Cabal package.

14 years agoAdd an extension to disable n+k patterns
Ian Lynagh [Sat, 25 Jul 2009 13:47:03 +0000 (13:47 +0000)]
Add an extension to disable n+k patterns

14 years agoFix a warning on Windows
Ian Lynagh [Fri, 24 Jul 2009 22:12:44 +0000 (22:12 +0000)]
Fix a warning on Windows

14 years agoRemove GHC's haskell98 dependency
Ian Lynagh [Fri, 24 Jul 2009 21:08:25 +0000 (21:08 +0000)]
Remove GHC's haskell98 dependency

14 years agoadd number of bytes to +RTS -DS leak reports
Simon Marlow [Fri, 24 Jul 2009 15:00:10 +0000 (15:00 +0000)]
add number of bytes to +RTS -DS leak reports

14 years agofree the gc_thread structures during shutdown
Simon Marlow [Fri, 24 Jul 2009 14:59:56 +0000 (14:59 +0000)]
free the gc_thread structures during shutdown

14 years agoAdd atomic_inc()/atomic_dec(), and use them to replace gc_running_mutex
Simon Marlow [Fri, 24 Jul 2009 14:26:20 +0000 (14:26 +0000)]
Add atomic_inc()/atomic_dec(), and use them to replace gc_running_mutex
This also fixes a memory leak on Windows with -threaded, because we
were calling initMutex(&gc_running_mutex) for each GC, which allocates
memory.

14 years agoRewrite the foreign import string parser using ReadP
Simon Marlow [Thu, 23 Jul 2009 15:21:38 +0000 (15:21 +0000)]
Rewrite the foreign import string parser using ReadP
And kill the duplicate one in HsSyn.Convert

14 years agopoint to the wiki
Simon Marlow [Thu, 23 Jul 2009 13:23:45 +0000 (13:23 +0000)]
point to the wiki

14 years agoRemove note about avoiding use of #def in libraries
Simon Marlow [Thu, 23 Jul 2009 11:10:26 +0000 (11:10 +0000)]
Remove note about avoiding use of #def in libraries
It should be safe to use now that we aren't relying on C prototypes
for foreign functions in via-C code.

14 years agorefactorings
Simon Marlow [Thu, 23 Jul 2009 09:12:30 +0000 (09:12 +0000)]
refactorings

14 years agoFix Trac #3391: make generic to/from bindings only for newly-declared types
simonpj@microsoft.com [Thu, 23 Jul 2009 15:58:03 +0000 (15:58 +0000)]
Fix Trac #3391: make generic to/from bindings only for newly-declared types

Before this patch we were bogusly making to/from bindings for all data types
in the TcGblEnv.  But that is wrong when we have multiple "chunks" of
bindings in Template Haskell.  We should start from the declarations
themselves.  Easy.

14 years agoPrint explicit braces and semicolons in do-notation
simonpj@microsoft.com [Thu, 23 Jul 2009 15:24:11 +0000 (15:24 +0000)]
Print explicit braces and semicolons in do-notation

By printing explicit braces we make it more likely that pretty-printed
code will be acceptable if fed back into GHC.

See http://www.haskell.org/pipermail/glasgow-haskell-users/2009-July/017554.html

14 years agoDocumentation for stand-alone deriving (Trac #3012)
simonpj@microsoft.com [Thu, 23 Jul 2009 13:25:58 +0000 (13:25 +0000)]
Documentation for stand-alone deriving (Trac #3012)

14 years agoWindows only: set the encoding on stdin to utf8
Simon Marlow [Thu, 23 Jul 2009 12:19:13 +0000 (12:19 +0000)]
Windows only: set the encoding on stdin to utf8
Otherwise it defaults to latin1.

14 years agoFix Trac #3012: allow more free-wheeling in standalone deriving
simonpj@microsoft.com [Thu, 23 Jul 2009 13:01:45 +0000 (13:01 +0000)]
Fix Trac #3012: allow more free-wheeling in standalone deriving

In standalone deriving, we now do *not* check side conditions.
We simply generate the code and typecheck it.  If there's a type
error, it's the programmer's problem.

This means that you can do 'deriving instance Show (T a)', where
T is a GADT, for example, provided of course that the boilerplate
code does in fact typecheck.

I put some work into getting a decent error message.  In particular
if there's a type error in a method, GHC will show the entire code
for that method (since, after all, the user did not write it).
Most of the changes are to achieve that goal.

Still to come: changes in the documentation.

14 years agoUse the ErrMsg record type
simonpj@microsoft.com [Thu, 23 Jul 2009 13:01:08 +0000 (13:01 +0000)]
Use the ErrMsg record type

14 years agoStop generating redundant parens in 'deriving' code
simonpj@microsoft.com [Thu, 23 Jul 2009 12:59:03 +0000 (12:59 +0000)]
Stop generating redundant parens in 'deriving' code

This makes the code printed by -ddump-deriv look prettier

14 years agoWibble to printing tuple sections
simonpj@microsoft.com [Thu, 23 Jul 2009 12:57:56 +0000 (12:57 +0000)]
Wibble to printing tuple sections

14 years agoFix Trac #3193: improve line number reporting for equality constraints
simonpj@microsoft.com [Thu, 23 Jul 2009 06:55:04 +0000 (06:55 +0000)]
Fix Trac #3193: improve line number reporting for equality constraints

When reporting an error from a failed equality constraint, we were
setting the *context* but not the *line number* in TcTyFuns.eqInstMisMatch
As a result, the line number didn't match the context at all.  It's
trivial to fix.

I'm 99% certain this fixes #3193, but it's too complicated to
reproduce, so I have not actually tested it.

14 years agoAdd fmapM_maybe :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b)
simonpj@microsoft.com [Thu, 23 Jul 2009 06:49:32 +0000 (06:49 +0000)]
Add fmapM_maybe :: Monad m => (a -> m b) -> Maybe a -> m (Maybe b)

This function isn't used at the moment, but Max added it, and it
looks useful.

14 years agoAdd tuple sections as a new feature
simonpj@microsoft.com [Thu, 23 Jul 2009 06:38:59 +0000 (06:38 +0000)]
Add tuple sections as a new feature

This patch adds tuple sections, so that

(x,,z)  means   \y -> (x,y,z)

Thanks for Max Bolinbroke for doing the hard work.

In the end, instead of using two constructors in HsSyn, I used
just one (still called ExplicitTuple) whose arguments can be
Present (LHsExpr id)
or Missing PostTcType

While I was at it, I did a bit of refactoring too.

14 years agoNetBSD defines _REENTRANT in its header files, so compiling ghc gives
Simon Marlow [Thu, 23 Jul 2009 07:50:30 +0000 (07:50 +0000)]
NetBSD defines _REENTRANT in its header files, so compiling ghc gives
redefinition warnings for all files that are including includes/Rts.h.

Contributed by: Krister Walfridsson <krister.walfridsson@gmail.com>

14 years agoincludes/TSO.h: kill trailing whitespace
Samuel Bronson [Wed, 22 Jul 2009 17:03:54 +0000 (17:03 +0000)]
includes/TSO.h: kill trailing whitespace

14 years agoSay what StgTSOBlockInfo is for, where to read about it.
Samuel Bronson [Wed, 22 Jul 2009 16:30:11 +0000 (16:30 +0000)]
Say what StgTSOBlockInfo is for, where to read about it.

14 years agoMake the Integer library used directly configurable in GHC and base
Ian Lynagh [Wed, 22 Jul 2009 15:10:48 +0000 (15:10 +0000)]
Make the Integer library used directly configurable in GHC and base
Rather than indirecting through an integer package

14 years agoFix cleaning with the new integer changes
Ian Lynagh [Wed, 22 Jul 2009 14:25:45 +0000 (14:25 +0000)]
Fix cleaning with the new integer changes

14 years agoAdd integer-simple as a build option
Ian Lynagh [Wed, 22 Jul 2009 01:31:37 +0000 (01:31 +0000)]
Add integer-simple as a build option

14 years agoTweak whitespace
Ian Lynagh [Sun, 19 Jul 2009 22:13:03 +0000 (22:13 +0000)]
Tweak whitespace

14 years agothenIO, bindIO, returnIO moved to GHC.Base
Simon Marlow [Wed, 22 Jul 2009 10:22:19 +0000 (10:22 +0000)]
thenIO, bindIO, returnIO moved to GHC.Base

14 years agoremove unused $(HscIfaceFileVersion)
Simon Marlow [Mon, 20 Jul 2009 14:50:53 +0000 (14:50 +0000)]
remove unused $(HscIfaceFileVersion)

14 years agoChoose external names more predictably
Simon Marlow [Mon, 20 Jul 2009 14:47:51 +0000 (14:47 +0000)]
Choose external names more predictably

Now, for a compiler-generated binding "x", if "x" is referred to by
the exported "f", then it will be named "f_x" rather than something
like "x23".  This means that hopefully

  - compilation will more often product the same results given the
    same input (the choice of names is not dependent on the
    non-deterministic order of bindings within the compiler).

  - less recompilation will be necessary after making changes

  - navigating Core might be a bit easier.

unfortunately, compilation with -O still does not consistently produce
the same ABI.  The simplifier sometimes does different things,
apparently.

Names will be longer, but I can't see a way around that.

14 years agoUse stable ordering in the dependencies
Simon Marlow [Fri, 17 Jul 2009 12:34:49 +0000 (12:34 +0000)]
Use stable ordering in the dependencies
Fixes another cause of wobbly interface files and unnecessary recompilation.

14 years agofall back on libffi for 'foreign import "wrapper"' if necessary
Simon Marlow [Thu, 16 Jul 2009 13:45:49 +0000 (13:45 +0000)]
fall back on libffi for 'foreign import "wrapper"' if necessary

14 years agoTake account of GADTs when reporting patterm-match overlap
simonpj@microsoft.com [Wed, 22 Jul 2009 05:09:33 +0000 (05:09 +0000)]
Take account of GADTs when reporting patterm-match overlap

When matching against a GADT, some of the constructors may be impossible.
For example
data T a where
          T1 :: T Int
          T2 :: T Bool
          T3 :: T a

        f :: T Int -> Int
        f T1 = 3
        f T3 = 4

Here, does not have any missing cases, despite omittting T2, because
T2 :: T Bool.

This patch teaches the overlap checker about GADTs, which happily
turned out to be rather easy even though the overlap checker needs
a serious rewrite.

14 years agoFix Trac #3382: desugaring of NPats
simonpj@microsoft.com [Mon, 20 Jul 2009 06:12:26 +0000 (06:12 +0000)]
Fix Trac #3382: desugaring of NPats

Max spotted that the short-cut rules for desugaring NPats (where
we compare against a literal) were wrong now that we have overloaded
strings.

14 years agoAdd a -fwarn-dodgy-exports flag; fixes #1911
Ian Lynagh [Sun, 19 Jul 2009 20:01:24 +0000 (20:01 +0000)]
Add a -fwarn-dodgy-exports flag; fixes #1911
This is used to control warnings that were previously unconditional.

14 years agoBuild terminfo if we /aren't/ on Windows, not if we /are/
Ian Lynagh [Sun, 19 Jul 2009 11:17:09 +0000 (11:17 +0000)]
Build terminfo if we /aren't/ on Windows, not if we /are/

14 years agoChange how PACKAGES is constructed, so that everything gets cleaned properly
Ian Lynagh [Sat, 18 Jul 2009 21:00:58 +0000 (21:00 +0000)]
Change how PACKAGES is constructed, so that everything gets cleaned properly
If Windows wasn't defined properly then the Win32 package wasn't being
cleaned, as it wasn't added to PACKAGES. Now we always add everything to
PACKAGES when CLEANING=YES.

14 years agotemporarily turn off unused import warnings for the time library
Ian Lynagh [Sat, 18 Jul 2009 18:34:45 +0000 (18:34 +0000)]
temporarily turn off unused import warnings for the time library

14 years agoFollow the split directory rename in the GHC build system rules
Ian Lynagh [Sat, 18 Jul 2009 15:56:18 +0000 (15:56 +0000)]
Follow the split directory rename in the GHC build system rules

14 years agoAdd osuf to the name we use for the split dir
Ian Lynagh [Sat, 18 Jul 2009 14:55:22 +0000 (14:55 +0000)]
Add osuf to the name we use for the split dir
This avoids a collision between the directories we use when compiling
multiple ways, which in turn leads to a race condition in parallel
builds.

14 years agoTemporarily turn off unused-do-bind warnings for the time package
Ian Lynagh [Sat, 18 Jul 2009 13:45:36 +0000 (13:45 +0000)]
Temporarily turn off unused-do-bind warnings for the time package

14 years agoMake ghc-cabal handle "Custom" Setup.hs files that have a configure script
Ian Lynagh [Sat, 18 Jul 2009 13:15:55 +0000 (13:15 +0000)]
Make ghc-cabal handle "Custom" Setup.hs files that have a configure script

14 years agoAdd the time library, and support for libraries in tarballs
Ian Lynagh [Sat, 18 Jul 2009 12:16:49 +0000 (12:16 +0000)]
Add the time library, and support for libraries in tarballs

14 years agoAlways serialise Int as 64bit values; fixes trac #3041
Ian Lynagh [Fri, 17 Jul 2009 22:42:03 +0000 (22:42 +0000)]
Always serialise Int as 64bit values; fixes trac #3041
This means that, provided the values are small enough, files
serialized are portable between architectures. In particular,
.haddock files are portable.

14 years agoRemove some code that has always been commented out
Ian Lynagh [Fri, 17 Jul 2009 22:41:00 +0000 (22:41 +0000)]
Remove some code that has always been commented out

14 years agoFix Trac #3346: tcSimplify for LHS of RULES with type equalities
simonpj@microsoft.com [Fri, 17 Jul 2009 15:57:22 +0000 (15:57 +0000)]
Fix Trac #3346: tcSimplify for LHS of RULES with type equalities

14 years agoAllow mixed case in the LINE pragma; patch from squadette; fixes #1817
Ian Lynagh [Fri, 17 Jul 2009 13:35:22 +0000 (13:35 +0000)]
Allow mixed case in the LINE pragma; patch from squadette; fixes #1817

14 years agoComment only
simonpj@microsoft.com [Fri, 17 Jul 2009 12:01:54 +0000 (12:01 +0000)]
Comment only

14 years agoAdd missing case for eq_note.
t-peterj@microsoft.com [Wed, 24 Jun 2009 13:44:07 +0000 (13:44 +0000)]
Add missing case for eq_note.

14 years agoRename parameters to make debugging code compile.
t-peterj@microsoft.com [Fri, 26 Jun 2009 10:54:40 +0000 (10:54 +0000)]
Rename parameters to make debugging code compile.

14 years agoComment fix: use the same variable names in the conclusion as in the premise.
t-peterj@microsoft.com [Thu, 18 Jun 2009 09:22:35 +0000 (09:22 +0000)]
Comment fix: use the same variable names in the conclusion as in the premise.

14 years agoTypo fixes, from Alexey Mahotkin
Ian Lynagh [Fri, 17 Jul 2009 01:08:17 +0000 (01:08 +0000)]
Typo fixes, from Alexey Mahotkin

14 years agoUse names like '$fOrdInt' for dfuns (and TF instances), rather than '$f21'
Simon Marlow [Thu, 16 Jul 2009 12:56:43 +0000 (12:56 +0000)]
Use names like '$fOrdInt' for dfuns (and TF instances), rather than '$f21'

2 reasons for this:
  - compilation is more predictable.  Adding or removing an instance
    is less likely to force unnecessary recompilation due to
    renumbering other dfun names.
  - it makes it easier to read Core / C-- / asm

The names aren't completely deterministic.  To do that, we'd have to
include package and module names, which would make the symbol names
long and reduce readability.  So the compromise is that if there's a
clash, we disambiguate by adding an integer suffix.  This is fairly
unlikely in practice unless you're using overlapping instances.

Type family instances are handled in the same way, with the same
disambiguation strategy.

14 years agoUse a stable ordering for the export list in the interface
Simon Marlow [Thu, 16 Jul 2009 12:26:01 +0000 (12:26 +0000)]
Use a stable ordering for the export list in the interface
The export list was ordered according to the whim of FastStrings,
which meant that interface fingerprints could change for no good
reason, causing spurious recompilation.

14 years agoDon't put all of $CFLAGS into $SRC_CC_OPTS
Ian Lynagh [Thu, 16 Jul 2009 13:13:09 +0000 (13:13 +0000)]
Don't put all of $CFLAGS into $SRC_CC_OPTS
Instead, we just put the flags we need in there (e.g. -m64 on OS X 64).
This fixes a problem found by Simon M, where we were compiling
everything with -g, leading to a bloated RTS.

14 years agoMove showOpt into DynFlags
Ian Lynagh [Thu, 16 Jul 2009 00:53:14 +0000 (00:53 +0000)]
Move showOpt into DynFlags