ghc-hetmet.git
17 years agoAdded a comment about se.info.type being used uninitialized
sven.panne@aedion.de [Fri, 10 Nov 2006 16:26:54 +0000 (16:26 +0000)]
Added a comment about se.info.type being used uninitialized

17 years agoAdded a workaround for format specifier mismatch
sven.panne@aedion.de [Fri, 10 Nov 2006 16:26:16 +0000 (16:26 +0000)]
Added a workaround for format specifier mismatch

17 years agoUse implication constraints to improve type inference
simonpj@microsoft.com [Fri, 10 Nov 2006 13:31:23 +0000 (13:31 +0000)]
Use implication constraints to improve type inference

17 years agoCosmetics and debug printing only
simonpj@microsoft.com [Fri, 10 Nov 2006 13:15:13 +0000 (13:15 +0000)]
Cosmetics and debug printing only

17 years agoCosmetics only
simonpj@microsoft.com [Fri, 10 Nov 2006 13:13:45 +0000 (13:13 +0000)]
Cosmetics only

17 years agoAdd HsUtils.unguardedGRHSs, and use it
simonpj@microsoft.com [Fri, 10 Nov 2006 13:12:50 +0000 (13:12 +0000)]
Add HsUtils.unguardedGRHSs, and use it

17 years agoComments and cosmetics only
simonpj@microsoft.com [Fri, 10 Nov 2006 13:10:36 +0000 (13:10 +0000)]
Comments and cosmetics only

17 years agoAdd new utility function, partitionWith
simonpj@microsoft.com [Fri, 10 Nov 2006 13:08:36 +0000 (13:08 +0000)]
Add new utility function, partitionWith

17 years agoTrim imports
simonpj@microsoft.com [Fri, 10 Nov 2006 13:08:14 +0000 (13:08 +0000)]
Trim imports

17 years agoPatch to demand analyser, to handle polymorphism in zipWithDmds
simonpj@microsoft.com [Fri, 10 Nov 2006 13:07:26 +0000 (13:07 +0000)]
Patch to demand analyser, to handle polymorphism in zipWithDmds

17 years agoDo not print HsDoc field when pretty-printing patterns (messes up error message)
simonpj@microsoft.com [Wed, 8 Nov 2006 09:48:13 +0000 (09:48 +0000)]
Do not print HsDoc field when pretty-printing patterns (messes up error message)

17 years agouse the right $(HC) for stage 3
Simon Marlow [Thu, 9 Nov 2006 10:17:53 +0000 (10:17 +0000)]
use the right $(HC) for stage 3

17 years agoremove unused STANDALONE_PACKAGE stuff
Simon Marlow [Thu, 9 Nov 2006 10:17:29 +0000 (10:17 +0000)]
remove unused STANDALONE_PACKAGE stuff

17 years agoupdate flag settings after files were relocated
Simon Marlow [Wed, 8 Nov 2006 10:38:06 +0000 (10:38 +0000)]
update flag settings after files were relocated

17 years agoComment out deeply suspicious (and unused) function insertStableSymbol
simonpj@microsoft.com [Tue, 7 Nov 2006 17:13:36 +0000 (17:13 +0000)]
Comment out deeply suspicious (and unused) function insertStableSymbol

The function insertStableSymbol looks utterly wrong, because it
coerces a value of type 'a' to an Addr#!  That was in turn making the
code generator get confused (now improved), but since insertStableSymbol
isn't used at all, I'm just commenting it out.

Meanwhile, this patch also enhances CoreToStg to report the most egregious
cases where an unsafe coerce is going to confuse the code generator.

17 years agoLayout and comments only
simonpj@microsoft.com [Tue, 7 Nov 2006 17:10:40 +0000 (17:10 +0000)]
Layout and comments only

17 years agoWarn only of explicit imports that are unused (test is mod177)
simonpj@microsoft.com [Mon, 6 Nov 2006 16:12:12 +0000 (16:12 +0000)]
Warn only of explicit imports that are unused (test is mod177)

This is really a long-standing bug.  See test mod177.

17 years agoVarious debugging print changes; nothing exciting
simonpj@microsoft.com [Mon, 6 Nov 2006 16:02:44 +0000 (16:02 +0000)]
Various debugging print changes; nothing exciting

17 years agoTidy up substitutions
simonpj@microsoft.com [Mon, 6 Nov 2006 15:59:01 +0000 (15:59 +0000)]
Tidy up substitutions

The new simplifer stuff exposed the fact that the invariants on the
TvSubstEnv and IdSubstEnv were insufficiently explicit.  (Resulted in
a bug found by Sam Brosnon.)

This patch fixes the bug, and tries to document the invariants pretty
thoroughly. See
Note [Extending the TvSubst] in Type
Note [Extenting the Subst]   in CoreSubst

(Most of the new lines are comments.)

17 years agoGet External Core (-fext-core) working with readline
Samuel Bronson [Wed, 1 Nov 2006 00:36:49 +0000 (00:36 +0000)]
Get External Core (-fext-core) working with readline
Had to add support for dynamic C calls and for foreign labels (Addr#
constants). Actually I only did the printing side -- parsing is not
done yet. But at least now you can build the libraries with -fext-core.

I also got the function arrow to print out properly again (it was
printing fully-qualified and z-coded!)

I also added a field for calling convention name to the External
data constructor in ExternalCore.Exp (for static C calls).

I'm not exactly sure where to document all of this, so I haven't done
that, though I did comment the code a bit.

17 years agoRemove pre-5.04 code
Ian Lynagh [Tue, 24 Oct 2006 01:10:26 +0000 (01:10 +0000)]
Remove pre-5.04 code

17 years agoMajor overhaul of the Simplifier
simonpj@microsoft.com [Wed, 1 Nov 2006 16:43:29 +0000 (16:43 +0000)]
Major overhaul of the Simplifier

This big patch completely overhauls the Simplifier.  The simplifier
had grown old and crufty, and was hard to understand and maintain.
This new version is still quite complicated, because the simplifier
does a lot, but it's much easier to understand, for me at least.

It does mean that I have touched almost every line of the simplifier,
so the diff is a large one.

Big changes are these

* When simplifying an Expr we generate a simplified Expr plus a
  bunch of "floats", which are bindings that have floated out
  of the Expr.  Before, this float stuff was returned separately,
  but not they are embedded in the SimplEnv, which makes the
  plumbing much easier and more robust.  In particular, the
  SimplEnv already meaintains the "in-scope set", and making
  that travel with the floats helps to ensure that we always
  use the right in-scope set.

  This change has a pervasive effect.

* Rather than simplifying the args of a call before trying rules
  and inlining, we now defer simplifying the args until both
  rules and inlining have failed, so we're going to leave a
  call in the result.  This avoids the risk of repeatedly
  simplifying an argument, which was handled by funny ad-hoc
  flags before.

  The downside is that we must apply the substitution to the args before
  rule-matching; and if thep rule doesn't match that is wasted work.
  But having any rules at all is the exception not the rule, and the
  substitution is lazy, so we only substitute until a no-match is found.
  The code is much more elegant though.

* A SimplCont is now more zipper-like. It used to have an embedded
  function, but that was a bit hard to think about, and now it's
  nice and consistent. The relevant constructors are StrictArg
  and StrictBind

* Each Rule now has an *arity* (gotten by CoreSyn.ruleArity), which
  tells how many arguments it matches against.  This entailed adding
  a field ru_nargs to a BuiltinRule.  And that made me look at
  PrelRules; I did quite a bit of refactoring in the end, so the
  diff in PrelRules looks much biggger than it really is.

* A little refactoring in OccurAnal.  The key change is that in
  the RHS of x = y `cast` co
  we regard 'y' as "many", so that it doesn't get inlined into
  the RHS of x.  This allows x to be inlined elsewhere.  It's
  very like the existing situation for
x = Just y
  where we treat 'y' as "many".

17 years agoImprove error message from ghc --make when filename and modulename differ
simonpj@microsoft.com [Thu, 2 Nov 2006 12:31:11 +0000 (12:31 +0000)]
Improve error message from ghc --make when filename and modulename differ

17 years agoImprove handling of unused imports (test is mod75)
simonpj@microsoft.com [Thu, 2 Nov 2006 12:04:41 +0000 (12:04 +0000)]
Improve handling of unused imports (test is mod75)

17 years agoRemove unused lookupDeprec function
simonpj@microsoft.com [Thu, 2 Nov 2006 12:04:02 +0000 (12:04 +0000)]
Remove unused lookupDeprec function

17 years agoFix handling of non-in-scope exports (fixes test mod7)
simonpj@microsoft.com [Thu, 2 Nov 2006 12:03:04 +0000 (12:03 +0000)]
Fix handling of non-in-scope exports (fixes test mod7)

17 years agoComments and layout only
simonpj@microsoft.com [Thu, 2 Nov 2006 09:39:54 +0000 (09:39 +0000)]
Comments and layout only

17 years agoimport Maybes wibble
sof@galois.com [Wed, 1 Nov 2006 22:11:08 +0000 (22:11 +0000)]
import Maybes wibble

17 years agoadd a few #includes to make it compile
sof@galois.com [Wed, 1 Nov 2006 22:09:50 +0000 (22:09 +0000)]
add a few #includes to make it compile

17 years agoTrim imports
simonpj@microsoft.com [Wed, 1 Nov 2006 17:34:39 +0000 (17:34 +0000)]
Trim imports

17 years agoDefault the kind of unconstrained meta-type variables before tcSimplifyTop
simonpj@microsoft.com [Wed, 1 Nov 2006 17:33:25 +0000 (17:33 +0000)]
Default the kind of unconstrained meta-type variables before tcSimplifyTop

This patch fixes a long standing bug, Trac #179,
and a recently reported one, Trac #963.

The problem in both cases was an unconstrained type variable 'a', of kind
argTypeKind (printed "??") or openTypeKind ("?").  At top level we now default
the kind of such variables to liftedTypeKind ("*").  This is important because
then instance declarations can match it. The defaulting function is called
TcMType.zonkTopTyVar, and is commented.  (Most of the extra lines in the
patch are comments!)

17 years agoComments and layout only
simonpj@microsoft.com [Wed, 1 Nov 2006 17:04:48 +0000 (17:04 +0000)]
Comments and layout only

17 years agoMinor refactoring
simonpj@microsoft.com [Wed, 1 Nov 2006 14:34:16 +0000 (14:34 +0000)]
Minor refactoring

17 years agoRemove unused import
simonpj@microsoft.com [Wed, 1 Nov 2006 14:25:50 +0000 (14:25 +0000)]
Remove unused import

17 years agoComments only
simonpj@microsoft.com [Wed, 1 Nov 2006 14:23:43 +0000 (14:23 +0000)]
Comments only

17 years agoMake idInfo fail more informatively on TyVars
simonpj@microsoft.com [Wed, 1 Nov 2006 14:22:46 +0000 (14:22 +0000)]
Make idInfo fail more informatively on TyVars

17 years agoImprove error message (push to 6.6 branch)
simonpj@microsoft.com [Wed, 1 Nov 2006 12:37:27 +0000 (12:37 +0000)]
Improve error message (push to 6.6 branch)

17 years agoFix error reporting for contexts during deriving (Trac 958)
simonpj@microsoft.com [Wed, 1 Nov 2006 12:21:20 +0000 (12:21 +0000)]
Fix error reporting for contexts during deriving (Trac 958)

When doing the fixpoint iteration for 'deriving' we have to be careful
not to end up in a loop, even if we have -fallow-undecidable-instances.

Test is tcfail169

17 years agoFix a long-standing but obscure bug in worker-wrapper generation
simonpj@microsoft.com [Wed, 1 Nov 2006 11:04:42 +0000 (11:04 +0000)]
Fix a long-standing but obscure bug in worker-wrapper generation

Worker/wrapper generation sometimes has to add a dummy void (State#) argument
to retain laziness.  But when generating the strictness signature for the
worker, I forgot to take account of the extra argument, resulting in a
bogus strictness signature.

Result, chaos.  Trac 317 shows this up, and this patch fixes it.

17 years agoMove --help, --version etc to 4.4 (modes) because that is what they really are
simonpj@microsoft.com [Mon, 30 Oct 2006 13:52:04 +0000 (13:52 +0000)]
Move --help, --version etc to 4.4 (modes) because that is what they really are

17 years agoremove the *.raw files
Simon Marlow [Fri, 27 Oct 2006 15:21:29 +0000 (15:21 +0000)]
remove the *.raw files

17 years agoimprove the diagnostic generated by memInventory() for a memory leak
Simon Marlow [Fri, 27 Oct 2006 13:36:11 +0000 (13:36 +0000)]
improve the diagnostic generated by memInventory() for a memory leak

17 years agocount mut-list bytes, not words
Simon Marlow [Fri, 27 Oct 2006 13:34:45 +0000 (13:34 +0000)]
count mut-list bytes, not words

17 years agofix calculation of GC Work for 6.6+
Simon Marlow [Fri, 27 Oct 2006 10:34:39 +0000 (10:34 +0000)]
fix calculation of GC Work for 6.6+

17 years agocopyright updates and add Commentary links
Simon Marlow [Thu, 26 Oct 2006 09:25:36 +0000 (09:25 +0000)]
copyright updates and add Commentary links

17 years agorename spin lock functions, and use macros for non-THREADED_RTS
Simon Marlow [Thu, 26 Oct 2006 09:18:14 +0000 (09:18 +0000)]
rename spin lock functions, and use macros for non-THREADED_RTS

17 years agoRemove PAR/GRAN code from the storage manager
Simon Marlow [Wed, 25 Oct 2006 11:11:14 +0000 (11:11 +0000)]
Remove PAR/GRAN code from the storage manager

17 years agomarkRootPtrTable: write out type in full instead of using evac_fn typedef
Simon Marlow [Thu, 26 Oct 2006 08:54:18 +0000 (08:54 +0000)]
markRootPtrTable: write out type in full instead of using evac_fn typedef
Fixes stage 2 build with -fvia-C

17 years agoan expression with a TickBox round it is not in HNF.
andy@galois.com [Wed, 25 Oct 2006 20:38:29 +0000 (20:38 +0000)]
an expression with a TickBox round it is not in HNF.

17 years agoAdding arrows to the acceptable code for hpc
andy@galois.com [Wed, 25 Oct 2006 20:15:14 +0000 (20:15 +0000)]
Adding arrows to the acceptable code for hpc

17 years agofixing type error inside Hpc inc; we had a 32 bit '1'.
andy@galois.com [Wed, 25 Oct 2006 20:14:22 +0000 (20:14 +0000)]
fixing type error inside Hpc inc; we had a 32 bit '1'.

17 years agoImproving error message in CmmLint
andy@galois.com [Wed, 25 Oct 2006 20:13:38 +0000 (20:13 +0000)]
Improving error message in CmmLint

17 years agoChanging Main.tix to <prog_name>.tix in the Hpc RTS
andy@galois.com [Wed, 25 Oct 2006 20:12:29 +0000 (20:12 +0000)]
Changing Main.tix to <prog_name>.tix in the Hpc RTS

17 years agoAdd pointer to coding conventions to HACKING
Manuel M T Chakravarty [Wed, 25 Oct 2006 16:43:31 +0000 (16:43 +0000)]
Add pointer to coding conventions to HACKING

17 years ago6.4 compatiblity
andy@galois.com [Wed, 25 Oct 2006 07:59:00 +0000 (07:59 +0000)]
6.4 compatiblity

17 years agoHaskell Program Coverage
andy@galois.com [Tue, 24 Oct 2006 21:29:07 +0000 (21:29 +0000)]
Haskell Program Coverage

This large checkin is the new ghc version of Haskell
Program Coverage, an expression-level coverage tool for Haskell.

Parts:

 - Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files.
 - Coverage.lhs - Annotates the HsSyn with coverage tickboxes.
  - New Note's in Core,
      - TickBox      -- ticked on entry to sub-expression
      - BinaryTickBox  -- ticked on exit to sub-expression, depending
             -- on the boolean result.

  - New Stg level TickBox (no BinaryTickBoxes, though)

You can run the coverage tool with -fhpc at compile time.
Main must be compiled with -fhpc.

17 years agofix 5.04 compile
Simon Marlow [Tue, 24 Oct 2006 13:39:43 +0000 (13:39 +0000)]
fix 5.04 compile

17 years agofix indentation wibble to make it compile with 5.04
Simon Marlow [Tue, 24 Oct 2006 12:28:00 +0000 (12:28 +0000)]
fix indentation wibble to make it compile with 5.04

17 years agoRe-enable TABLES_NEXT_TO_CODE for powerpc (was accidentally disabled)
wolfgang.thaller@gmx.net [Mon, 23 Oct 2006 20:33:21 +0000 (20:33 +0000)]
Re-enable TABLES_NEXT_TO_CODE for powerpc (was accidentally disabled)

17 years agoSplit GC.c, and move storage manager into sm/ directory
Simon Marlow [Tue, 24 Oct 2006 09:13:57 +0000 (09:13 +0000)]
Split GC.c, and move storage manager into sm/ directory
In preparation for parallel GC, split up the monolithic GC.c file into
smaller parts.  Also in this patch (and difficult to separate,
unfortunatley):

  - Don't include Stable.h in Rts.h, instead just include it where
    necessary.

  - consistently use STATIC_INLINE in source files, and INLINE_HEADER
    in header files.  STATIC_INLINE is now turned off when DEBUG is on,
    to make debugging easier.

  - The GC no longer takes the get_roots function as an argument.
    We weren't making use of this generalisation.

17 years agofix a printf format warning
Simon Marlow [Tue, 24 Oct 2006 09:13:23 +0000 (09:13 +0000)]
fix a printf format warning

17 years agoadd prototypes for exitHashTable()
Simon Marlow [Fri, 20 Oct 2006 10:29:34 +0000 (10:29 +0000)]
add prototypes for exitHashTable()

17 years agoremove ^Ms
Simon Marlow [Thu, 19 Oct 2006 14:12:18 +0000 (14:12 +0000)]
remove ^Ms

17 years agoadd pure spin locks
Simon Marlow [Thu, 19 Oct 2006 13:56:20 +0000 (13:56 +0000)]
add pure spin locks

17 years agocomments only: document allocateLocal()
Simon Marlow [Thu, 19 Oct 2006 10:12:00 +0000 (10:12 +0000)]
comments only: document allocateLocal()

17 years agorename allocated_bytes() to allocatedBytes()
Simon Marlow [Thu, 19 Oct 2006 10:11:29 +0000 (10:11 +0000)]
rename allocated_bytes() to allocatedBytes()

17 years agoremove performGCWithRoots()
Simon Marlow [Thu, 19 Oct 2006 10:11:02 +0000 (10:11 +0000)]
remove performGCWithRoots()
I don't think this can ever be useful, because to add more roots you
need to do it consistently for every GC.  The right way to add roots
is to use newStablePtr.

17 years agoBump the HEAD to 6.7
Ian Lynagh [Tue, 24 Oct 2006 00:35:53 +0000 (00:35 +0000)]
Bump the HEAD to 6.7

17 years agoClean up debugging code in RnNames
Manuel M T Chakravarty [Mon, 23 Oct 2006 18:05:03 +0000 (18:05 +0000)]
Clean up debugging code in RnNames

17 years agowibble in parseStaticFlags
Simon Marlow [Mon, 23 Oct 2006 14:58:17 +0000 (14:58 +0000)]
wibble in parseStaticFlags
should fix profiling and unreg in HEAD

17 years agoImprove error messages for indexed types
Manuel M T Chakravarty [Sun, 22 Oct 2006 17:12:12 +0000 (17:12 +0000)]
Improve error messages for indexed types

17 years agoA little abstraction
basvandijk@home.nl [Thu, 19 Oct 2006 15:23:28 +0000 (15:23 +0000)]
A little abstraction

17 years agoFix handling of family instances in the presense of this doc stuff
Manuel M T Chakravarty [Sun, 22 Oct 2006 00:49:04 +0000 (00:49 +0000)]
Fix handling of family instances in the presense of this doc stuff
- Not sure whether I do the right thing, because I don't understand the
  doc stuff.  However, the original code was definitely wrong and
  breaking the renaming of family instance declarations.
- The important point is that in

    data instance T pats = rhs

  T is *not* a defining occurence of T (similarly as C is not a defining
  occurence in "instance C Int").

17 years agoFix parent position in RnNames.nubAvails 2006-10-22
Manuel M T Chakravarty [Sat, 21 Oct 2006 03:58:29 +0000 (03:58 +0000)]
Fix parent position in RnNames.nubAvails
- `RnNames.nubAvails', which amalgamates AvailInfo items that belong to the
  same parent, needs to be careful that the parent name occurs first if it is
  in the list of subnames at all.  (Otherwise, we can get funny export items
  in ifaces.)
- I discovered this while debugging family import/exports, but I am pretty
  sure the bug would also have shown up without using families under the
  right circumstances.

17 years agoFix export of associated families with new name parent story
Manuel M T Chakravarty [Sat, 21 Oct 2006 00:28:13 +0000 (00:28 +0000)]
Fix export of associated families with new name parent story

Given

  module Exp (T)
  where

  class C a where
    data T a :: *

we need the AvailInfo for the export item to be C|{T}, not just T.
This patch achieves that under the new name parent scheme.

17 years agoFix processing of imports involving ATs with the new name parent code
Manuel M T Chakravarty [Fri, 20 Oct 2006 18:04:42 +0000 (18:04 +0000)]
Fix processing of imports involving ATs with the new name parent code

Associated types in import lists require special care and the new name
parent code broke that.  What's the problem?  in the presence of ATs
the name parent relation can have a depth of two (not just one as in H98).
Here is an example:

  class GMapKey a where
    data GMap a :: * -> *
  instance GMapKey Int where
    data GMap Int v = GMapInt ...

The data constructor GMapInt's parent is GMap whose parent in turn is the
class GMapKey; ie, GMapKey is GMapInt's grand parent.  In H98, data types
have no parents (which is in some places in the code represented by making
them their own parent).

I fixed this by extending the information in filterImport's occ_env and
taking the case of associated types explicitly in consideration when
processing the various forms of IE items.

17 years agoFix family instance bug due to the name parent elimination
Manuel M T Chakravarty [Thu, 19 Oct 2006 18:01:03 +0000 (18:01 +0000)]
Fix family instance bug due to the name parent elimination
- Its important that `isImplicitTyCon' considers
  (a) associated families to be implicit, but
  (b) considers family instances *not* to be implicit (for the same reasons
      that a dfun is not implicit).

17 years agoFix show-iface for family instances & add debug ppr for type declarations
Manuel M T Chakravarty [Thu, 19 Oct 2006 16:58:40 +0000 (16:58 +0000)]
Fix show-iface for family instances & add debug ppr for type declarations

17 years agoRun dos2unix on all the outputs, and don't let it eat stderr
Ian Lynagh [Thu, 19 Oct 2006 13:48:18 +0000 (13:48 +0000)]
Run dos2unix on all the outputs, and don't let it eat stderr

17 years agoFix stage1 build with 6.2.1 (from Andy Gill)
Ian Lynagh [Thu, 19 Oct 2006 00:08:07 +0000 (00:08 +0000)]
Fix stage1 build with 6.2.1 (from Andy Gill)

17 years agoFix the build with GHC 6.2.2
Ian Lynagh [Wed, 18 Oct 2006 23:05:55 +0000 (23:05 +0000)]
Fix the build with GHC 6.2.2

17 years agoCross-module consistency check for family instances
Manuel M T Chakravarty [Wed, 18 Oct 2006 22:13:00 +0000 (22:13 +0000)]
Cross-module consistency check for family instances

17 years agoFixed spelling error in compiler/ghci/InteractiveUI.hs and docs/users_guide/ghci.xml
basvandijk@home.nl [Wed, 11 Oct 2006 20:43:01 +0000 (20:43 +0000)]
Fixed spelling error in compiler/ghci/InteractiveUI.hs and docs/users_guide/ghci.xml

17 years agoFix a bug in Lint (which wrongly complained when compiling Data.Sequence with -02)
simonpj@microsoft.com [Wed, 18 Oct 2006 12:05:00 +0000 (12:05 +0000)]
Fix a bug in Lint (which wrongly complained when compiling Data.Sequence with -02)

17 years agoAdd the primitive type Any, and use it for Dynamics
simonpj@microsoft.com [Wed, 18 Oct 2006 11:56:58 +0000 (11:56 +0000)]
Add the primitive type Any, and use it for Dynamics

GHC's code generator can only enter a closure if it's guaranteed
not to be a function.  In the Dynamic module, we were using the
type (forall a.a) as the type to which the dynamic type was unsafely
cast:
type Obj = forall a.a

Gut alas this polytype was sometimes instantiated to (), something
like this (it only bit when profiling was enabled)
let y::() = dyn ()
in (y `cast` ..) p q
As a result, an ASSERT in ClosureInfo fired (hooray).

I've tided this up by making a new, primitive, lifted type Any, and
arranging that Dynamic uses Any, thus:
type Obj = ANy

While I was at it, I also arranged that when the type checker instantiates
un-constrained type variables, it now instantiates them to Any, not ()
e.g.  length Any []

[There remains a Horrible Hack when we want Any-like things at arbitrary
kinds.  This essentially never happens, but see comments with
TysPrim.mkAnyPrimTyCon.]

Anyway, this fixes Trac #905

17 years agoAdd comment about arity
simonpj@microsoft.com [Wed, 18 Oct 2006 11:24:18 +0000 (11:24 +0000)]
Add comment about arity

I'm not sure what the significance of the "arity" of a primtive
TyCon is.  They aren't necessarily saturated, so it's not that.

I rather think that arity is only relevant for
SynTyCon
AlgTyCon
CoercionTyCon

This comment (and commit message) is just an aide memoire.

17 years agoSpelling in comment
simonpj@microsoft.com [Wed, 18 Oct 2006 11:23:51 +0000 (11:23 +0000)]
Spelling in comment

17 years agoMinor refactoring
simonpj@microsoft.com [Wed, 18 Oct 2006 11:23:20 +0000 (11:23 +0000)]
Minor refactoring

17 years agoComments onl
simonpj@microsoft.com [Wed, 18 Oct 2006 11:22:35 +0000 (11:22 +0000)]
Comments onl

17 years agofix build for 6.4.x and 6.6.x
Simon Marlow [Wed, 18 Oct 2006 08:05:26 +0000 (08:05 +0000)]
fix build for 6.4.x and 6.6.x

17 years agocompensate for gmp/configure sometimes not being executable
Simon Marlow [Tue, 17 Oct 2006 13:22:15 +0000 (13:22 +0000)]
compensate for gmp/configure sometimes not being executable

17 years agoRejig TABLES_NEXT_TO_CODE: the -unreg flag was broken by earlier changes
Simon Marlow [Tue, 17 Oct 2006 09:44:35 +0000 (09:44 +0000)]
Rejig TABLES_NEXT_TO_CODE: the -unreg flag was broken by earlier changes
A GHC binary can generally build either registerised or unregisterised
code, unless it is unregisterised only.

The previous changes broke this, but I think I've now restored it.

17 years agoStage 2 fix to "Keep track of family instance modules"
Manuel M T Chakravarty [Mon, 16 Oct 2006 19:40:48 +0000 (19:40 +0000)]
Stage 2 fix to "Keep track of family instance modules"

17 years agoremove use of FiniteMap, use Text.Printf
Simon Marlow [Mon, 16 Oct 2006 15:19:35 +0000 (15:19 +0000)]
remove use of FiniteMap, use Text.Printf

17 years agofix a regular expression in banner_re
Simon Marlow [Mon, 16 Oct 2006 15:08:02 +0000 (15:08 +0000)]
fix a regular expression in banner_re

17 years agoTry to get the right output for nofib-analyse
Samuel Bronson [Sat, 14 Oct 2006 17:58:55 +0000 (17:58 +0000)]
Try to get the right output for nofib-analyse

17 years agoGet nofib-analyse to build with 6.4 at least...
Samuel Bronson [Sat, 14 Oct 2006 16:34:42 +0000 (16:34 +0000)]
Get nofib-analyse to build with 6.4 at least...

17 years agoDon't squish "Inlined fn" into the right margin quite as much in trace output
Samuel Bronson [Mon, 16 Oct 2006 13:00:04 +0000 (13:00 +0000)]
Don't squish "Inlined fn" into the right margin quite as much in trace output

17 years agoFix build on x86_64
Simon Marlow [Mon, 16 Oct 2006 11:20:45 +0000 (11:20 +0000)]
Fix build on x86_64

17 years agoFix deadlock on second call to newSession
Simon Marlow [Mon, 16 Oct 2006 11:17:41 +0000 (11:17 +0000)]
Fix deadlock on second call to newSession
Tracked down by Krasimir Angelov