ghc-hetmet.git
17 years agoFix scoped type variables for expression type signatures
simonpj@microsoft.com [Tue, 3 Oct 2006 13:40:56 +0000 (13:40 +0000)]
Fix scoped type variables for expression type signatures

I had forgotten to bring scoped type variables into scope at an expression
type signature, such as
e :: forall s. <type>
where 's' should scope over the expression e.

Like everything to do with scoped type variables, fixing this took an
unreasonable amount of work.  I'm sure there must be a better way to
achitect this!

I updated the user manual too.

A test is tc213.

It would be good to push this into 6.6.1

17 years agoTrim imports
simonpj@microsoft.com [Tue, 3 Oct 2006 13:38:45 +0000 (13:38 +0000)]
Trim imports

17 years agoAdd error check for operators in types
simonpj@microsoft.com [Tue, 3 Oct 2006 08:28:05 +0000 (08:28 +0000)]
Add error check for operators in types

Fixes Trac #919

17 years agoAdd a C++ phase. Fixes bug #800
Lemmih [Thu, 27 Jul 2006 08:00:23 +0000 (08:00 +0000)]
Add a C++ phase. Fixes bug #800

17 years agoLatin-1-to-UTF8 pre-processor example for docs from Christian Maeder
Ian Lynagh [Sun, 1 Oct 2006 01:07:00 +0000 (01:07 +0000)]
Latin-1-to-UTF8 pre-processor example for docs from Christian Maeder

17 years agoadd :edit to the release notes, and improve the docs a bit
Simon Marlow [Fri, 29 Sep 2006 11:21:08 +0000 (11:21 +0000)]
add :edit to the release notes, and improve the docs a bit

17 years agoSimplify the way in which the coKindFun in CoercionTyCon is handled
simonpj@microsoft.com [Fri, 29 Sep 2006 22:28:45 +0000 (22:28 +0000)]
Simplify the way in which the coKindFun in CoercionTyCon is handled

Before the coKindFun could be applied to too many arguments;
now it expects exactly the right number of arguments.  That
makes it easier to write the coKindFuns, and localises the work.

17 years agoMatch let before lambda in rule-matching (see comment with Lam case of Rules.match)
simonpj@microsoft.com [Fri, 29 Sep 2006 22:26:45 +0000 (22:26 +0000)]
Match let before lambda in rule-matching (see comment with Lam case of Rules.match)

17 years agoFix bug in SCRIPT_SHELL patch (| should be ||)
simonpj@microsoft.com [Fri, 29 Sep 2006 22:24:33 +0000 (22:24 +0000)]
Fix bug in SCRIPT_SHELL patch (| should be ||)

17 years agoAdd missing case for EqPred
simonpj@microsoft.com [Fri, 29 Sep 2006 16:51:18 +0000 (16:51 +0000)]
Add missing case for EqPred

17 years agoAmplify scoped tyvar changes
simonpj@microsoft.com [Fri, 29 Sep 2006 16:50:38 +0000 (16:50 +0000)]
Amplify scoped tyvar changes

17 years agoUpdate release notes
simonpj@microsoft.com [Fri, 29 Sep 2006 12:28:55 +0000 (12:28 +0000)]
Update release notes

17 years agoRemove Linear Implicit Parameters, and all their works
simonpj@microsoft.com [Fri, 29 Sep 2006 16:07:17 +0000 (16:07 +0000)]
Remove Linear Implicit Parameters, and all their works

Linear implicit parameters have been in GHC quite a while,
but we decided they were a mis-feature and scheduled them for
removal.  This patch does the job.

17 years agoGlobal renamings in HsSyn
simonpj@microsoft.com [Fri, 29 Sep 2006 14:39:10 +0000 (14:39 +0000)]
Global renamings in HsSyn

17 years agoImprove pretty-printing of Core
simonpj@microsoft.com [Fri, 29 Sep 2006 13:35:49 +0000 (13:35 +0000)]
Improve pretty-printing of Core

17 years agoAnother correction to the (subtle) exprIsConApp_maybe
simonpj@microsoft.com [Fri, 29 Sep 2006 13:35:12 +0000 (13:35 +0000)]
Another correction to the (subtle) exprIsConApp_maybe

17 years agoSpelling correction
simonpj@microsoft.com [Fri, 29 Sep 2006 12:36:44 +0000 (12:36 +0000)]
Spelling correction

17 years agoImprove pretty printing of IfaceSyn
simonpj@microsoft.com [Fri, 29 Sep 2006 12:33:55 +0000 (12:33 +0000)]
Improve pretty printing of IfaceSyn

17 years agoImprove unification error messages (again) (push to 6.6 branch)
simonpj@microsoft.com [Fri, 29 Sep 2006 12:20:10 +0000 (12:20 +0000)]
Improve unification error messages (again) (push to 6.6 branch)

17 years ago:edit runs notepad by default on Windows
Simon Marlow [Fri, 29 Sep 2006 10:27:39 +0000 (10:27 +0000)]
:edit runs notepad by default on Windows

17 years agounbreak :edit patch on Windows
Simon Marlow [Thu, 28 Sep 2006 15:59:51 +0000 (15:59 +0000)]
unbreak :edit patch on Windows

17 years agoFix #906, and do #914 while I'm in here (it wasn't too hard)
Simon Marlow [Thu, 28 Sep 2006 15:17:05 +0000 (15:17 +0000)]
Fix #906, and do #914 while I'm in here (it wasn't too hard)

17 years agoAdd basic :edit support
Simon Marlow [Thu, 28 Sep 2006 13:51:56 +0000 (13:51 +0000)]
Add basic :edit support
Without jumping to line numbers or %-expansion, we could add that later.

17 years agotiny fix in porting docs I just spotted
Simon Marlow [Thu, 28 Sep 2006 10:56:11 +0000 (10:56 +0000)]
tiny fix in porting docs I just spotted

17 years agoonly make stdin/stdout unbuffered in GHCi, not runghc or ghc -e.
Simon Marlow [Thu, 28 Sep 2006 10:54:03 +0000 (10:54 +0000)]
only make stdin/stdout unbuffered in GHCi, not runghc or ghc -e.

17 years agotestsuite *is* boring
Simon Marlow [Thu, 28 Sep 2006 10:53:42 +0000 (10:53 +0000)]
testsuite *is* boring

17 years agofix typo in comment
Andres Loeh [Thu, 14 Sep 2006 23:56:48 +0000 (23:56 +0000)]
fix typo in comment

17 years agoremove non-boring directories
Norman Ramsey [Fri, 15 Sep 2006 23:49:02 +0000 (23:49 +0000)]
remove non-boring directories

17 years agoModify toArgs to parse quotes/escapes like /bin/sh
rjmccall@gmail.com [Sun, 17 Sep 2006 00:36:41 +0000 (00:36 +0000)]
Modify toArgs to parse quotes/escapes like /bin/sh
Addresses ticket #197, which asks for escape sequences to be supported directly (i.e.
not only in dquoted strings) on :load commands in GHCI.  Fix modifies the toArgs
function to parse its input like /bin/sh does, i.e. recognizing escapes anywhere
and treating quoted strings as atomic chunks.  Thus:
  :load a\ b c\"d e" "f
would parse with three arguments, namely 'a b', 'c"d', and 'e f'.

toArgs is used to parse arguments for both :load and :main, but doesn't appear to
be used elsewhere.  I see no harm in modifying both to be consistent -- in fact,
the functionality is probably more useful for :main than for :load.

17 years agoFix mulIntMayOflo on 64-bit arches; fixes trac #867
Ian Lynagh [Thu, 28 Sep 2006 00:48:06 +0000 (00:48 +0000)]
Fix mulIntMayOflo on 64-bit arches; fixes trac #867
We were assuming we could multiply 2 32-bit numbers without overflowing
a 64-bit number, but we can't as the top bit is the sign bit.

17 years agoHandle clock_gettime failing
Ian Lynagh [Wed, 27 Sep 2006 23:46:30 +0000 (23:46 +0000)]
Handle clock_gettime failing

17 years agoChange default repo root for the 6.6 branch
Ian Lynagh [Sat, 2 Sep 2006 17:49:36 +0000 (17:49 +0000)]
Change default repo root for the 6.6 branch

17 years agoTell the 6.6 branch where to find extralibs
Ian Lynagh [Wed, 6 Sep 2006 12:46:40 +0000 (12:46 +0000)]
Tell the 6.6 branch where to find extralibs

17 years agoFix exprIsConApp_maybe (wasn't dealing properly with the EqSpec of the DataCon)
simonpj@microsoft.com [Wed, 27 Sep 2006 12:53:08 +0000 (12:53 +0000)]
Fix exprIsConApp_maybe (wasn't dealing properly with the EqSpec of the DataCon)

17 years agounbreak mingw-on-cygwin (/=MSYS) builds
sof@galois.com [Tue, 26 Sep 2006 16:56:31 +0000 (16:56 +0000)]
unbreak mingw-on-cygwin (/=MSYS) builds

17 years agoRename -no-recomp to -fforce-recomp, and document it
Simon Marlow [Wed, 27 Sep 2006 13:27:07 +0000 (13:27 +0000)]
Rename -no-recomp to -fforce-recomp, and document it

17 years agoMake printing of binding results optional in GHCi, and document it
Simon Marlow [Wed, 27 Sep 2006 13:25:50 +0000 (13:25 +0000)]
Make printing of binding results optional in GHCi, and document it
You can say :set -fno-print-bind-result in GHCi to disable this behaviour.
Addresses #887

17 years agoTell the 6.6 branch where to find extralibs
Ian Lynagh [Wed, 6 Sep 2006 12:46:40 +0000 (12:46 +0000)]
Tell the 6.6 branch where to find extralibs

17 years agoChange default repo root for the 6.6 branch
Ian Lynagh [Sat, 2 Sep 2006 17:49:36 +0000 (17:49 +0000)]
Change default repo root for the 6.6 branch

17 years agoAdd source code links to Haddock docs
Simon Marlow [Fri, 8 Sep 2006 11:27:25 +0000 (11:27 +0000)]
Add source code links to Haddock docs

Right now we can only manage to add a source code link for the module,
but that's better than nothing.

I had to put the list of core packages in a Makefile variable,
$(CorePackages), so we'll have to be careful to keep this up to date.
(I could have slurped it out of libraries/core-packages with $(shell),
but that's ugly and really slow on Windows).

There are a couple of new tweakables: CorePackageSourceURL and
ExtraPackageSourceURL in config.mk.in, set these to the appropriate
patterns for generating source links.

(when we merge this patch onto the HEAD we'll have to tweak these
settings).

Unfortunately it still doesn't work for all the modules, because
modules compiled without -cpp don't get any #line directives.  More
hackery required...

17 years agoFix derived instances (again); prevents infinite superclass loop
simonpj@microsoft.com [Tue, 26 Sep 2006 14:42:30 +0000 (14:42 +0000)]
Fix derived instances (again); prevents infinite superclass loop

17 years agoVarious documentation improvements suggested by Bulat Ziganshin
Ian Lynagh [Mon, 25 Sep 2006 23:18:55 +0000 (23:18 +0000)]
Various documentation improvements suggested by Bulat Ziganshin

17 years agoFix comment/code inconsistency spotted by Bulat Ziganshin
Ian Lynagh [Mon, 25 Sep 2006 19:59:25 +0000 (19:59 +0000)]
Fix comment/code inconsistency spotted by Bulat Ziganshin
I'm not sure if this is the example that was intended, but it's at least
now consistent.

17 years agorejig library include/ files
sof@galois.com [Mon, 25 Sep 2006 23:21:25 +0000 (23:21 +0000)]
rejig library include/ files

17 years agoFix newtype deriving properly (un-doing Audreys patch)
simonpj@microsoft.com [Mon, 25 Sep 2006 12:13:51 +0000 (12:13 +0000)]
Fix newtype deriving properly (un-doing Audreys patch)

The newtype-deriving mechanism generates a HsSyn case expression looking
like this
case (d `cast` co) of { ... }
That is, the case expression scrutinises a dictionary.  This is
otherwise never seen in HsSyn, and it made the desugarer
(Check.get_unused_cons) crash in tcTyConAppTyCon.

It would really be better to generate Core in TcInstDecls (the newtype
deriving part) but I'm not going to do that today.  Instead, I made
Check.get_unused_cons a bit more robust.

Audrey tried to fix this over the weekend, but her fix was, alas, utterly
bogus, which caused mysterious failures later.  I completely undid this
change.

Anyway it should work now!

17 years agoDocument -F in the flag reference
Ian Lynagh [Mon, 25 Sep 2006 13:48:16 +0000 (13:48 +0000)]
Document -F in the flag reference

17 years agoAdded Darwinports path to DocBook XSL stylesheets to configure.
bjorn@bringert.net [Mon, 18 Sep 2006 23:28:31 +0000 (23:28 +0000)]
Added Darwinports path to DocBook XSL stylesheets to configure.

17 years agoComment-only: Fix a typo, and note that the PredTy case on SplitTyConApp_maybe was...
audreyt@audreyt.org [Sun, 24 Sep 2006 12:31:51 +0000 (12:31 +0000)]
Comment-only: Fix a typo, and note that the PredTy case on SplitTyConApp_maybe was added as a kluge.

17 years agoIn tcSplittyConApp_maybe, add the PredTy case
audreyt@audreyt.org [Sun, 24 Sep 2006 06:32:08 +0000 (06:32 +0000)]
In tcSplittyConApp_maybe, add the PredTy case
such that this can compile again:

    newtype Moose = MkMoose () deriving (Eq, Ord)

17 years agoFixed DocBook XML once again, "make validate" is your friend!
sven.panne@aedion.de [Sat, 23 Sep 2006 16:50:45 +0000 (16:50 +0000)]
Fixed DocBook XML once again, "make validate" is your friend!

17 years agoTrim more imports
simonpj@microsoft.com [Sat, 23 Sep 2006 07:25:09 +0000 (07:25 +0000)]
Trim more imports

17 years agoFix origin for addDataConStupidTheta
simonpj@microsoft.com [Sat, 23 Sep 2006 07:24:07 +0000 (07:24 +0000)]
Fix origin for addDataConStupidTheta

17 years agoRemove ASSERT from mkDataCon, and add comments to explain why
simonpj@microsoft.com [Sat, 23 Sep 2006 05:30:53 +0000 (05:30 +0000)]
Remove ASSERT from mkDataCon, and add comments to explain why

17 years agoThe unboxed tuple kind is (#), not (##)
simonpj@microsoft.com [Sat, 23 Sep 2006 04:31:30 +0000 (04:31 +0000)]
The unboxed tuple kind is (#), not (##)

17 years agoComplete definition of cmPredX to take account of EqPred
simonpj@microsoft.com [Sat, 23 Sep 2006 04:29:34 +0000 (04:29 +0000)]
Complete definition of cmPredX to take account of EqPred

17 years agoCorrect crucial typo in isSubKind (kc1 -> kc2)!
simonpj@microsoft.com [Sat, 23 Sep 2006 04:28:29 +0000 (04:28 +0000)]
Correct crucial typo in isSubKind (kc1 -> kc2)!

17 years agoRe-work the newtype-deriving support
simonpj@microsoft.com [Sat, 23 Sep 2006 04:05:05 +0000 (04:05 +0000)]
Re-work the newtype-deriving support

The newtype deriving mechanism is much trickier to support than it
seems at first.  Kevin didn't get it quite right when moving to FC,
and I ended up re-writing quite a bit of it.

I think it's right now, but I have not yet tested it thoroughly.

17 years agoAdd TcRnMonad.newSysLocalIds, and use it
simonpj@microsoft.com [Sat, 23 Sep 2006 04:04:16 +0000 (04:04 +0000)]
Add TcRnMonad.newSysLocalIds, and use it

17 years agoRemove dead code concerning coercions from TypeRep
simonpj@microsoft.com [Sat, 23 Sep 2006 04:02:16 +0000 (04:02 +0000)]
Remove dead code concerning coercions from TypeRep

17 years agoMove snocView in the file, nearer the other spliting functions
simonpj@microsoft.com [Sat, 23 Sep 2006 04:01:38 +0000 (04:01 +0000)]
Move snocView in the file, nearer the other spliting functions

17 years agoImprove documentation of newtype-deriving (todo: check formatting still works)
simonpj@microsoft.com [Sat, 23 Sep 2006 04:00:15 +0000 (04:00 +0000)]
Improve documentation of newtype-deriving (todo: check formatting still works)

17 years agoAdd VarSet.disjointVarSet, and use it
simonpj@microsoft.com [Sat, 23 Sep 2006 03:58:29 +0000 (03:58 +0000)]
Add VarSet.disjointVarSet, and use it

17 years agoTrim imports, and remove some dead code
simonpj@microsoft.com [Sat, 23 Sep 2006 03:52:01 +0000 (03:52 +0000)]
Trim imports, and remove some dead code

17 years agoImprove specialisation in SpecConstr
simonpj@microsoft.com [Fri, 22 Sep 2006 19:04:36 +0000 (19:04 +0000)]
Improve specialisation in SpecConstr

This patch enables argToPat to look through let expressions

e.g. f (let v = rhs in \y -> ...v...)

Here we can specialise for f (\y -> ...) because the rule-matcher will
look through the let.

17 years agoRemove duplicate call to getDOpts
simonpj@microsoft.com [Fri, 22 Sep 2006 19:03:50 +0000 (19:03 +0000)]
Remove duplicate call to getDOpts

17 years agoRemove use of isVanillaDataCon, which was wrong under the new FC dispensation
simonpj@microsoft.com [Fri, 22 Sep 2006 19:03:07 +0000 (19:03 +0000)]
Remove use of isVanillaDataCon, which was wrong under the new FC dispensation

17 years agoTrim imports, reformatting
simonpj@microsoft.com [Fri, 22 Sep 2006 19:02:19 +0000 (19:02 +0000)]
Trim imports, reformatting

17 years agoAdd a crucial missing prime in tcConPat
simonpj@microsoft.com [Fri, 22 Sep 2006 18:57:11 +0000 (18:57 +0000)]
Add a crucial missing prime in tcConPat

This fixes a typo -- a missing prime in tcConPat.

The test is gadt18.

While modifying TcPat I also trimmed imports, fixed non-exhaustive
patterns, and improved tracing.

17 years ago64bit fixes for the symbol lookup table
sven.panne@aedion.de [Sat, 23 Sep 2006 16:24:08 +0000 (16:24 +0000)]
64bit fixes for the symbol lookup table

17 years agoIn ByteCodeGen, correctly passthru AnnCast in all relevant places, so the previous...
audreyt@audreyt.org [Sat, 23 Sep 2006 05:28:15 +0000 (05:28 +0000)]
In ByteCodeGen, correctly passthru AnnCast in all relevant places, so the previous band-aid fix is no longer needed.

17 years agoAdd explicit eta-reduction to GHCI's schemeE such that deriving Typeable won't panick.
audreyt@audreyt.org [Sat, 23 Sep 2006 05:09:29 +0000 (05:09 +0000)]
Add explicit eta-reduction to GHCI's schemeE such that deriving Typeable won't panick.

17 years agoRepair "ghci" under FC+AT by handling AnnCast in bytecode generator.
audreyt@audreyt.org [Fri, 22 Sep 2006 04:06:18 +0000 (04:06 +0000)]
Repair "ghci" under FC+AT by handling AnnCast in bytecode generator.

17 years agoFix Linker import when BREAKPOINT is off
Manuel M T Chakravarty [Thu, 21 Sep 2006 21:00:29 +0000 (21:00 +0000)]
Fix Linker import when BREAKPOINT is off

17 years agoExtend IfaceSyn.eqIfTc to cover type kind variants from FC
Manuel M T Chakravarty [Thu, 21 Sep 2006 16:14:00 +0000 (16:14 +0000)]
Extend IfaceSyn.eqIfTc to cover type kind variants from FC

17 years agoUse --export-dynamic to ensure ghci works on newer openbsds
Don Stewart [Thu, 21 Sep 2006 01:01:55 +0000 (01:01 +0000)]
Use --export-dynamic to ensure ghci works on newer openbsds

Changes to the RTLD_DEFAULT semantics broke the trick we used to ensure
libc symbols were available to the ghci linker, in OpenBSD 4.0. We can
fix this by linking the ghc binary itself with --export-dynamic on this
system, removing the need for any magic Linker.c games.

GHCi now works on OpenBSD 4.0

Contributed by Eric Mertens <emertens at gmail.com>

17 years ago* TypeRep.lhs and TypeRep.lhs-boot didn't agree on their signatures (SuperKind vs...
audreyt@audreyt.org [Thu, 21 Sep 2006 01:25:31 +0000 (01:25 +0000)]
* TypeRep.lhs and TypeRep.lhs-boot didn't agree on their signatures (SuperKind vs Kind)

17 years ago* Fix stray comma in HsTypes.lhs's import line.
audreyt@audreyt.org [Thu, 21 Sep 2006 01:13:56 +0000 (01:13 +0000)]
* Fix stray comma in HsTypes.lhs's import line.

17 years agoCorrect substitution into theta types (after merge) After_FC_branch_merge
Manuel M T Chakravarty [Wed, 20 Sep 2006 20:48:05 +0000 (20:48 +0000)]
Correct substitution into theta types (after merge)

17 years agoFix import list of TcTyClsDecls after merge
Manuel M T Chakravarty [Wed, 20 Sep 2006 20:47:44 +0000 (20:47 +0000)]
Fix import list of TcTyClsDecls after merge

17 years agoAdding FamInstEnv & FamInst modules
Manuel M T Chakravarty [Wed, 20 Sep 2006 20:17:27 +0000 (20:17 +0000)]
Adding FamInstEnv & FamInst modules
- They got lost during manual patching, as they are file additions.

17 years agoAdapt FC-code in TcUnify to pre-subsumption
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:57:19 +0000 (18:57 +0000)]
Adapt FC-code in TcUnify to pre-subsumption
Wed Sep 20 04:01:18 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Adapt FC-code in TcUnify to pre-subsumption

17 years agoSome more ASSERTs
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:54:32 +0000 (18:54 +0000)]
Some more ASSERTs
Wed Sep 20 02:52:00 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Some more ASSERTs

17 years agoSPJ's fix to resolve conflict in instFun
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:52:40 +0000 (18:52 +0000)]
SPJ's fix to resolve conflict in instFun
Wed Sep 20 02:27:26 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * SPJ's fix to resolve conflict in instFun

17 years agoAdjust code from manual merges
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:51:09 +0000 (18:51 +0000)]
Adjust code from manual merges
Tue Sep 19 14:12:36 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Adjust code from manual merges

17 years agoAdapt TcFix imports
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:50:41 +0000 (18:50 +0000)]
Adapt TcFix imports
Tue Sep 19 14:11:55 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Adapt TcFix imports

17 years agoBasic set up for global family instance environment
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:50:19 +0000 (18:50 +0000)]
Basic set up for global family instance environment
Mon Sep 18 19:52:34 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Basic set up for global family instance environment
  Fri Sep 15 15:20:44 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Basic set up for global family instance environment

17 years agoImport/export of data constructors in family instances
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:49:53 +0000 (18:49 +0000)]
Import/export of data constructors in family instances
Mon Sep 18 19:50:42 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Import/export of data constructors in family instances
  Tue Sep 12 13:54:37 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Import/export of data constructors in family instances
    - Data constructors of a data/newtype family F can be exported and imported
      by writing F(..) or F(ConName).
    - This appears the most natural from a user's persepctive - although, it has a
      slightly different flavour than similar import/exports items for closed data
      types.  The data constructors denoted by F(..) vary in dependence on the
      visible data instances.
    - This has been non-trivial to achieve as RnNames derives its knowledge of what
      sub-binders an F(..) item exports/imports from the relation specified by
      Name.nameParent - ie, the constructors of a data/newtype instance need to
      have the family name (not the internal name of the representation tycon) as
      their parent.

    *** WARNING: This patched changes the iface format! ***
    ***          Please re-compile from scratch!     ***

17 years agoUse smart lookup for tycons
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:49:34 +0000 (18:49 +0000)]
Use smart lookup for tycons
Mon Sep 18 19:49:35 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Use smart lookup for tycons
  Tue Sep 12 12:55:10 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Use smart lookup for tycons

17 years agoFix type checking of imported data instances
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:49:15 +0000 (18:49 +0000)]
Fix type checking of imported data instances
Mon Sep 18 19:48:41 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Fix type checking of imported data instances
  Mon Sep 11 20:06:51 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Fix type checking of imported data instances
    - When reading a data/newtype instance from an interface, the data constructors
      have their own universals that do not necessarily match up with their tycon's
      type parameters.  (Whereas when type checking source, they are always the
      same.)
    - Hence, we need to be careful when building the wrapper signature of imported
      data constructors from data/newtype instances, and rename the type variables
      in the instance types appropriately.

17 years agoFix category of representation tycon
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:48:59 +0000 (18:48 +0000)]
Fix category of representation tycon
Mon Sep 18 19:48:00 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Fix category of representation tycon
  Mon Sep 11 16:18:51 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Fix category of representation tycon

17 years agoOption -findexed-types
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:48:42 +0000 (18:48 +0000)]
Option -findexed-types
Mon Sep 18 19:42:48 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Option -findexed-types
  Fri Sep  8 21:35:37 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Option -findexed-types
    - Introduced the switch -findexed-types to activate the indexed type family
      framework.
    - The switch enables the special 'family' and allows kind signatures (which are
      currently compulsory for associated families).

17 years agoGet of fam inst index in ifaces
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:48:02 +0000 (18:48 +0000)]
Get of fam inst index in ifaces
Mon Sep 18 19:40:42 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Get of fam inst index in ifaces
  Fri Sep  8 16:31:26 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Get of fam inst index in ifaces
    - Removes the explicit index to get unique names for derived tycons for family
      instances again, following a suggestion by SPJ.
    - We now derive the coercion tycon name from the name of the representation
      tycon, which is in the iface anyways.

    *** WARNING: Change of interface file format! ***
    ***          Recompile from scratch!          ***

17 years agoClean up and refactor in SimplUtils.mkCase1 (identity case)
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:47:12 +0000 (18:47 +0000)]
Clean up and refactor in SimplUtils.mkCase1 (identity case)
Mon Sep 18 19:40:05 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Clean up and refactor in SimplUtils.mkCase1 (identity case)
  Wed Sep  6 07:42:45 EDT 2006  simonpj@microsoft.com
    * Clean up and refactor in SimplUtils.mkCase1 (identity case)

17 years agoATs are now implicitTyThings
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:46:45 +0000 (18:46 +0000)]
ATs are now implicitTyThings
Mon Sep 18 19:36:03 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * ATs are now implicitTyThings
  Tue Sep  5 21:09:54 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * ATs are now implicitTyThings

17 years agoStraightened out implicit coercions for indexed types
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:44:04 +0000 (18:44 +0000)]
Straightened out implicit coercions for indexed types
Mon Sep 18 19:35:24 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Straightened out implicit coercions for indexed types
  Mon Sep  4 23:46:14 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Straightened out implicit coercions for indexed types
    - HscTypes.implicitTyThings and LoadIface.ifaceDeclSubBndrs now
      include the coercion of indexed data/newtypes.
    - Name generation for the internal names of indexed data/newtypes now uses
      the same counter that generates the dfun unique indexes (ie, class and type
      instances are counted with the one counter).  We could make this two
      separate counters if that's what's preferred.
    - The unique index of a data/newtype instances needs to go into the iface, so
      that we can generate the same names on slurping in the iface as when the
      original module was generated.  This is a bit yucky, but I don't see a way
      to avoid that (other than putting the full blown internal tycon name and
      coercion name into the iface, which IMHO would be worse).
    - The predicate for when a datacon has a wrapper didn't take GADT
      equations nor whether it comes froma  family instance into account.

    *** WARNING!  This patch changed the interface file format. ***
    ***           Please recompile from scratch.                ***

17 years agoFixed two bugs concerning fanilies
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:41:03 +0000 (18:41 +0000)]
Fixed two bugs concerning fanilies
Mon Sep 18 19:34:38 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Fixed two bugs concerning fanilies
  Mon Sep  4 20:59:49 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Fixed two bugs concerning fanilies

17 years agoIndexed newtypes
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:40:35 +0000 (18:40 +0000)]
Indexed newtypes
Mon Sep 18 19:24:27 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Indexed newtypes
  Thu Aug 31 22:09:21 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Indexed newtypes
    - This patch makes indexed newtypes work
    - Only lightly tested
    - We need to distinguish between open and closed newtypes in a number of
      places, because looking through newtypes doesn't work easily for open ones.

17 years agoCheck category of type instances and some newtype family fixes
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:40:13 +0000 (18:40 +0000)]
Check category of type instances and some newtype family fixes
Mon Sep 18 19:23:39 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Check category of type instances and some newtype family fixes
  Thu Aug 31 16:54:14 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Check category of type instances and some newtype family fixes

17 years agoBetter error message for indexes that must be variables
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:39:52 +0000 (18:39 +0000)]
Better error message for indexes that must be variables
Mon Sep 18 19:19:10 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Better error message for indexes that must be variables
  Wed Aug 30 20:21:33 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Better error message for indexes that must be variables

17 years agoChecking conformance of AT indexes with instance heads
Manuel M T Chakravarty [Wed, 20 Sep 2006 18:39:37 +0000 (18:39 +0000)]
Checking conformance of AT indexes with instance heads
Mon Sep 18 19:18:18 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
  * Checking conformance of AT indexes with instance heads
  Wed Aug 30 20:13:52 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
    * Checking conformance of AT indexes with instance heads