| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the initial work on this was done fy 'archblob' (fcsernik@gmail.com);
thank you!
I reviewed the patch, started some tidying, up and then ended up in a huge
swamp of changes, not all of which I can remember now. But:
* To suppress kind arguments when we have -fno-print-explicit-kinds,
- IfaceTyConApp argument types are in a tagged list IfaceTcArgs
* To allow overloaded types to be printed with =>, add IfaceDFunTy to IfaceType.
* When printing data/type family instances for the user, I've made them
print out an informative RHS, which is a new feature. Thus
ghci> info T
data family T a
data instance T Int = T1 Int Int
data instance T Bool = T2
* In implementation terms, pprIfaceDecl has just one "context" argument,
of type IfaceSyn.ShowSub, which says
- How to print the binders of the decl
see note [Printing IfaceDecl binders] in IfaceSyn
- Which sub-comoponents (eg constructors) to print
* Moved FastStringEnv from RnEnv to OccName
It all took a ridiculously long time to do. But it's done!
|
| |
|
|
|
|
| |
This was mostly done in an earlier commit, but I missed these two
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Type.mkEqPred has an assertion warning for kind compatibility. But
during type checking we may form equality predicates with incompatible
kinds; hence TcType.mkTcEqPred, which does not check. We were calling
the former instead of the latter in a couple of places, leading to
spurious debug warnings.
|
|
|
|
| |
in IfacePatSyn
|
|
|
|
|
|
|
| |
This way, the Ids for the matchers/wrappers are reused by importing
modules, and thus unfoldings are kept.
Also updates haddock submodule to accomodate tweaks in PatSyn representation
|
|
|
|
| |
This patch makes the code a bit simpler if anything.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The (pure) unifier tcUnifyTys returns an idempotent substitution.
But previously the kinds of type variables free in the range of
the subst could have un-substituted kind variables.
This patch fixes that, fixing Trac #9106.
See Note [Finding the substitution fixpoint] in Unify
|
| |
|
|
|
|
| |
to regular ones.
|
|
|
|
| |
This fixes parts of #9117.
|
|
|
|
|
|
|
|
|
|
| |
* Document isSynTyCon better
* Add isTypeSyonymTyCon for regular H98 type synonyms
* Use isTypeSynonymTyCon rather than isSynTyCon where
the former is really intended
All arose as part of a bug I introduced when fixing Trac #9102,
thinking that isSynTyCon meant H98 type syononyms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases, the layout of the LANGUAGE/OPTIONS_GHC lines has been
reorganized, while following the convention, to
- place `{-# LANGUAGE #-}` pragmas at the top of the source file, before
any `{-# OPTIONS_GHC #-}`-lines.
- Moreover, if the list of language extensions fit into a single
`{-# LANGUAGE ... -#}`-line (shorter than 80 characters), keep it on one
line. Otherwise split into `{-# LANGUAGE ... -#}`-lines for each
individual language extension. In both cases, try to keep the
enumeration alphabetically ordered.
(The latter layout is preferable as it's more diff-friendly)
While at it, this also replaces obsolete `{-# OPTIONS ... #-}` pragma
occurences by `{-# OPTIONS_GHC ... #-}` pragmas.
|
|
|
|
|
|
|
| |
This cleanup allows the following refactoring commit to avoid adding a
few `{-# LANGUAGE NondecreasingIndentation #-}` pragmas.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
|
|
|
|
| |
Haskell2010 implies (at least) EmptyDataDecls, ForeignFunctionInterface,
PatternGuards, DoAndIfThenElse, and RelaxedPolyRec.
This is a follow-up to dd92e2179e3171a0630834b773c08d416101980d
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
|
|
| |
This is a first step towards eliminating `default-extensions` in favour of
per-file declared `{-# LANGUAGE ... #-}` pragmas.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
| |
isSynTyCon is true of type *family* TyCons, which *are* allowed
in TyConAppCo
|
|
|
|
|
| |
mkAppCoFlexible was breaking the invariant that the head of a TyConAppCo cannot
be a type synonym. This small patch fixes it.
|
|
|
|
| |
That is why Lint didn't nail Trac #9102
|
| |
|
| |
|
|
|
|
|
| |
This patch implements a simpler, and nicer, desugaring for
lazy pattern matching, fixing Trac #9098
|
|
|
|
| |
This fixes Trac #9096
|
|
|
|
| |
I wrote these when studying Trac #9090
|
| |
|
|
|
|
|
|
|
|
| |
The main effect of this patch is to preserve the evaluated-ness of
case binders and suchlike, to avoid spurious Lint complaints after
tidying. See Note [Preserve evaluatedness] in CoreTidy.
Plus a bit of associated refactoring of tidyIdBndr, tidyLetBndr.
|
|
|
|
|
|
| |
See Note [Mark evaluated arguments] in CoreUtils.
This is not a significant change, but avoids a spurious Lint complaint.
|
|
|
|
|
| |
No change in functionality, just a cleaner story, with the RHS for
dictionary selectors being treated less specially than before.
|
| |
|
|
|
|
| |
This is in pursuit of Trac #9063
|
|
|
|
|
|
| |
The constraints for Functor don't line up 1-1 with the arguments
(they are fetched out from sub-terms of the type), but the surrounding
code was mistakenly assuming they were in 1-1 association.
|
|
|
|
|
| |
My first attempt introduce a bug in -fprint-minimal-imports, but
fortunately a regression test caught it.
|
|
|
|
|
|
|
|
|
| |
See TypeRep.pprUserForAll. This just makes forall-printing a bit more
consistent. In particular, I wasn't seeing the kind foralls when
displaying a CoAxiom or CoAxBranch
The output on T7939 is just possible a bit too verbose now, but even if so
that's an error in the right direction.
|
| |
|
|
|
|
|
|
| |
See Note [Un-warnable import decls] in RnNames.
Fixes Trac #9061.
|
|
|
|
|
|
|
|
| |
Problems were found on 32-bit platforms, I'll commit again when I have a fix.
This reverts the following commits:
54b31f744848da872c7c6366dea840748e01b5cf
b0534f78a73f972e279eed4447a5687bd6a8308e
|
| |
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|