| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
The theory of natural numbers is defined in TcTypeNats.
|
|
|
|
|
|
|
|
| |
NOTE: This uses a very naive method to call the SMT solver:
* GHC will call a program called cvc4, which better be an SMT solver, which is in the path
* GHC will create (overwrite!) two files "ghc_input.smt" and "ghc_output,smt"
two files in the current directory.
|
| |
|
|
|
|
| |
For details see the comment on `interactTopSub`.
|
|
|
|
|
|
|
| |
This is actually a no-op wrt the source-code and is only performed to show
that upstream is identical to our lagged repository.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
| |
This commit moves the check from parser to renamer.
|
| |
|
|
|
|
|
|
| |
Spotted by Bertram Felgenhauer.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mac OS X 10.9 mkdir is apparently stricter than the Mac OS X 10.8
mkdir about which paths are considered valid arguments. For example,
in a typical build on Mac OS X 10.9, the first of the following
invocations of mkdirhier.sh will succeed but the second will fail:
"inplace/bin/mkdirhier" utils/ghc-cabal/dist/build/tmp//. # WORKS
"inplace/bin/mkdirhier" bootstrapping/. # FAILS
Simply prefixing the path arguments with "./" causes both to succeed:
"inplace/bin/mkdirhier" ./utils/ghc-cabal/dist/build/tmp//. # WORKS
"inplace/bin/mkdirhier" ./bootstrapping/. # WORKS
Testing indicates failure on paths satisfying all of these criteria:
- path is suffixed with "/."
- path is only 1 level deep (e.g., "foo/."; _not_ "foo/bar/.")
- path is _not_ prefixed with "./"
This workaround prefixes "./" to the path argument passed to mkdir.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
| |
Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
| |
Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
| |
Patch by errge
|
|
|
|
| |
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
|
|
|
|
|
|
| |
Fixes #8303.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
|
|
|
|
|
|
|
| |
This is mainly to relax the `array` build-dep to
allow the upcoming `array-0.5.0.0` package.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
| |
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
|
|
|
|
|
| |
This way CPP conditionals can be avoided for the transition period.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Replace class `SingI` with two separate classes: `KnownNat` and `KnownSymbol`
* Rename `magicSingId` to `magicDictId`.
* Simplify and clean-up the "magic" implementation. This version makes
a lot more sense, at least to me :-)
* Update notes about how it all works:
Note [KnownNat & KnownSymbol and EvLit] explains the evidence for the
built-in classes
Note [magicDictId magic] explains how we coerce singleton values into
dictionaries. This is used to turn run-time integers and strings into
Proxy singletons of unknwon type (using an existential).
|
|
|
|
| |
Patch by klao
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in #8276, this code was somewhat broken because while you
could always revert the actual argument list, you can never revert the
CAFs upon which they are based - so really this didn't buy you much.
However, Haddock in particular expects to be able to parse GHC flags,
including static flags, and used this code to do so. In its place, we
instead have discardStaticFlags, which will safely remove any of the
remaining 5 flags from a list of arguments. Haddock instead discards
these, as they aren't related to anything it does anyway (mostly
controlling debugging output and some basic optimizer phases.)
This fixes #8276. In the future, we will eventually completely remove
the remaining StaticFlags, removing the need for this fix. Unfortunately
these changes will be quite invasive and require more time.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Edward and I noticed this - like realWorld#, we want things applied to
proxy# which are INLINE more likely to be inlined - we do this by
marking proxy# as having an evaldUnfolding, which in turn makes it look
like the primitive is evaluated and makes the simplifier more willing to
do so.
See Note [evaldUnfoldings] in MkId.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
|
| |
Thanks to Gergely Risko for pointing this out.
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
|
| |
Authored-by: Gergely Risko <gergely@risko.hu>
Signed-off-by: Austin Seipp <austin@well-typed.com>
|
|
|
|
| |
Fixes: #7685
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This is to avoid
rts/sm/Storage.c: In function ‘allocate’:
rts/sm/Storage.c:725:13:
error: multi-line comment [-Werror=comment]
cc1: all warnings being treated as errors
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
|
|
|
|
|
|
| |
See [6f3a194accd2a1a75a3f86c1b4dca30521488110/base]
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
Template Haskell module finalizers are run after a module is type checked.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The essence of this change is that a TExp a now wraps a TH.Exp instead of a
TH.ExpQ. This means:
* A typed bracket [||...||] now has type Q (TExp tau), where tau is the type of
the expression in the bracket.
* A typed splice $(...) must contain a value of type Q (TExp tau), and has
type tau.
Previously, typed brackets had type TExp tau, and typed splices had to contain a
value of type TExp tau.
|
| | |
|
| | |
|