| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make C { A.a } work with punning, expanding to C { A.a = a }
* Make it so that, with -fwarn-unused-matches,
f (C {..}) = x
does not complain about the bindings introduced by the "..".
* Make -XRecordWildCards implies -XDisambiguateRecordFields.
* Overall refactoring of RnPat, which had become very crufty.
In particular, there is now a monad, CpsRn, private to RnPat,
which deals with the cps-style plumbing. This is why so many
lines of RnPat have changed.
* Refactor the treatment of renaming of record fields into two passes
- rnHsRecFields1, used both for patterns and expressions,
which expands puns, wild-cards
- a local renamer in RnPat for fields in patterns
- a local renamer in RnExpr for fields in construction and update
This make it all MUCH easier to understand
* Improve documentation of record puns, wildcards, and disambiguation
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It should be safe to use now that we aren't relying on C prototypes
for foreign functions in via-C code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is used to control warnings that were previously unconditional.
|
| |
|
| |
|
|
|
|
|
|
| |
Patch from
Max Bolingbroke <batterseapower@hotmail.com>
Rerecorded to avoid conflicts.
|
| |
|
|
|
|
| |
And add links to the new shared libs section.
|
| |
|
| |
|
|
|
|
|
| |
Basically just stat that it exists and refer to the ghc dev wiki
for the details, because we don't really want people using it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The main purpose of this patch is to fix Trac #3306, by fleshing out the
syntax for GADT-style record declraations so that you have a context in
the type. The new form is
data T a where
MkT :: forall a. Eq a => { x,y :: !a } -> T a
See discussion on the Trac ticket.
The old form is still allowed, but give a deprecation warning.
When we remove the old form we'll also get rid of the one reduce/reduce
error in the grammar. Hurrah!
While I was at it, I failed as usual to resist the temptation to do lots of
refactoring. The parsing of data/type declarations is now much simpler and
more uniform. Less code, less chance of errors, and more functionality.
Took longer than I planned, though.
ConDecl has record syntax, but it was not being used consistently, so I
pushed that through the compiler.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
-XTransformListComp
|
|
|
|
| |
and collect all the information about multi-threaded FFI use into it.
|
|
|
|
|
| |
I've also added some missing $s to some makefiles. These aren't
technically necessary, but it's nice to be consistent.
|
|
|
|
|
|
|
| |
Adopt Max's suggestion for name shadowing, by suppressing shadowing
warnings for variables starting with "_". A tiny bit of refactoring
along the way.
|
| |
|
|
|
|
|
|
|
|
|
| |
Makes GADT syntax consistent by allowing multiple constructors
to be given a single signature
data T wehre
A, B :: T
C :: Int -> t
|
|
|
|
|
|
|
| |
See Trac #2953. This patch implements a distinct flag for each extended
class that may be automatically derived. And I updated the user manual
to reflect the fact that we can now derive Functor, Foldable, Traversable.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
See comment for details
|
|
|
|
|
|
|
| |
Now we have variables for whether or not to build the docbook docs as
HTML, as PS, and as PDF. The configure script output now matches what
the build system will do (except it cannot take account of any
mk/build.mk settings, of course).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
# -----------------------------------------------------------------------------
#
# (c) 2009 The University of Glasgow
#
# This file is part of the GHC build system.
#
# To understand how the build system works and how to modify it, see
# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
#
# -----------------------------------------------------------------------------
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
1. it was out of date in various ways
2. this is not the place people look for installation instructions
3. we have installation instructions elsewhere (e.g. the INSTALL
file in a binary distribution)
4. the section "layout of installed files" is now on the wiki under
Building/Installing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|