| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
| |
It was already deprecated, and marked for removal in 7.2.
|
|
|
|
|
|
|
|
| |
We no longer advertise that we support the Generics extension,
although we still do accept -XGenerics and -XNoGenerics flags
(but warn that we are ignoring them).
I also remove the even older -fgenerics and -fno-generics flags.
|
| |
|
|
|
|
|
|
|
|
|
| |
It used to take a whole DynFlags, but that meant we had to
create a DynFlags with (panic "No settings") for settings, as
we didn't have any real settings.
Now we just pass the LogAction, which is all that it actually needed.
The default is exported from DynFlags as defaultLogAction.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This was done as we originally planned for SafeHaskell to provide
some compilation safety. We have dropped this though and instead
intend for a new static flag, '--safecompile' that provides
this instead in an orthogonal way to SafeHaskell.
|
| |
|
|
|
|
|
|
|
| |
Now ghc supports:
- trust => Set a package to be trusted
- distrust => Set a package to be untrusted
- distrust-all-package => Set all packages to be untrusted by default
|
| |
|
|
|
|
|
| |
Problem with -fforce-recomp not picking up changed Safe flags correctly
fixed. Also now disable Template Haskell completely.
|
|
|
|
|
|
|
|
|
|
| |
This patch disables the use of some GHC extensions in
Safe mode and also the use of certain flags. Some
are disabled completely while others are only allowed
on the command line and not in source PRAGMAS.
We also check that Safe imports are indeed importing
a Safe or Trustworthy module.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was originally developed by Max Bolingbroke, and worked on
further by Austin Seipp. It allows you to write a Core-to-Core pass
and have it dynamically linked into an otherwise-unmodified GHC, and
run at a place you specify in the Core optimisation pipeline.
Main components:
- CoreMonad: new types Plugin, PluginPass
plus a new constructor CoreDoPluginPass in CoreToDo
- SimplCore: stuff to dynamically load any plugins, splice
them into the core-to-core pipeline, and invoke them
- Move "getCoreToDo :: DynFlags -> [CoreToDo]"
which constructs the main core-to-core pipeline
from CoreMonad to SimplCore
SimplCore is the driver for the optimisation pipeline, and it
makes more sense to have the pipeline construction in the driver
not in the infrastructure module.
- New module DynamicLoading: invoked by SimplCore to load any plugins
Some consequential changes in Linker.
- New module GhcPlugins: this should be imported by plugin modules; it
it not used by GHC itself.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
CoreUnfold.sizeExpr (oops, forgot to push this patch along with the
others yesterday, and this caused a few test failures overnight).
|
| | |
|
| |
| |
| |
| |
| | |
The Haskell' committee decided to remove datatype contexts from the language:
http://www.haskell.org/pipermail/haskell-prime/2011-January/003335.html
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| | |
|
|\ \
| |/
| |
| |
| | |
Resolved conflicts:
compiler/typecheck/TcTyClsDecls.lhs
|
| |\ |
|
| | |\ |
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
compiler/typecheck/TcErrors.lhs
compiler/typecheck/TcSMonad.lhs
compiler/typecheck/TcType.lhs
compiler/types/TypeRep.lhs
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
See the paper "Practical aspects of evidence based compilation in System FC"
* Coercion becomes a data type, distinct from Type
* Coercions become value-level things, rather than type-level things,
(although the value is zero bits wide, like the State token)
A consequence is that a coerion abstraction increases the arity by 1
(just like a dictionary abstraction)
* There is a new constructor in CoreExpr, namely Coercion, to inject
coercions into terms
|
|\ \ \ \ \
| |/ / / / |
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
coloured-core
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The SDoc type now passes around an abstract SDocContext rather than
just a PprStyle which required touching a few more files. This should
also make it easier to integrate DynFlags passing, so that we can get
rid of global variables.
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | | |
We now do it while parsing the flags, rather than at the end.
It also now uses the Platform's arch/os variables, rather than Config's.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Remove a few other `0`s from names.
|