- 15 May, 2012 1 commit
-
-
pcapriotti authored
Introduce new flags to allow any package database stack to be set up. The `-no-user-package-conf` and `-no-global-package-conf` flags remove the corresponding package db from the initial stack, while `-user-package-conf` and `-global-package-conf` push it back on top of the stack.
-
- 24 Apr, 2012 1 commit
-
-
Ian Lynagh authored
-
- 20 Apr, 2012 1 commit
-
-
chak@cse.unsw.edu.au. authored
-
- 11 Apr, 2012 1 commit
-
-
pcapriotti authored
Patch by Sam Anklesaria <amsay@amsay.net>
-
- 04 Apr, 2012 2 commits
- 28 Mar, 2012 1 commit
-
-
dterei authored
No reason user should turn them off, just want for ghc developer debugging uses.
-
- 24 Mar, 2012 1 commit
-
-
Iavor S. Diatchki authored
This extension is implied by: * TypeOperators: so that we can import/export things like (+) * TypeFamilies: because associated type synonyms use "type T" to name the associated type in a subordinate list.
-
- 23 Mar, 2012 2 commits
-
-
dterei authored
-
chak@cse.unsw.edu.au. authored
* Enables vectorisation avoidance (This commit only adds the flag, not the actual vectorisation avoidance transformation.)
-
- 01 Mar, 2012 1 commit
-
-
Simon Marlow authored
GHCi now maintains two DynFlags: one that applies to whole modules loaded with :load, and one that applies to things typed at the prompt (expressions, statements, declarations, commands). The :set command modifies both DynFlags. This is for backwards compatibility: users won't notice any difference. The :seti command applies only to the interactive DynFlags. Additionally, I made a few changes to ":set" (with no arguments): * Now it only prints out options that differ from the defaults, rather than the whole list. * There is a new variant, ":set -a" to print out all options (the old behaviour). * It also prints out language options. e.g. Prelude> :set options currently set: none. base language is: Haskell2010 with the following modifiers: -XNoDatatypeContexts -XNondecreasingIndentation GHCi-specific dynamic flag settings: other dynamic, non-language, flag settings: -fimplicit-import-qualified warning settings: ":seti" (with no arguments) does the same as ":set", but for the interactive options. It also has the "-a" option. The interactive DynFlags are kept in the InteractiveContext, and copied into the HscEnv at the appropriate points (all in HscMain). There are some new GHC API operations: -- | Set the 'DynFlags' used to evaluate interactive expressions. setInteractiveDynFlags :: GhcMonad m => DynFlags -> m () -- | Get the 'DynFlags' used to evaluate interactive expressions. getInteractiveDynFlags :: GhcMonad m => m DynFlags -- | Sets the program 'DynFlags'. setProgramDynFlags :: GhcMonad m => DynFlags -> m [PackageId] -- | Returns the program 'DynFlags'. getProgramDynFlags :: GhcMonad m => m DynFlags Note I have not completed the whole of the plan outlined in #3217 yet: when in the context of a loaded module we don't take the interactive DynFlags from that module. That needs some more refactoring and thinking about, because we'll need to save and restore the original interactive DynFlags. This solves the immediate problem that people are having with the new flag checking in 7.4.1, because now it is possible to set language options in ~/.ghci that do not affect loaded modules and thereby cause recompilation.
-
- 24 Feb, 2012 1 commit
-
-
Ian Lynagh authored
stdout/stderr might be closed, so we can't just hFlush them. So we instead allow configuration in the same way that log_action is configurable.
-
- 16 Feb, 2012 1 commit
-
-
Simon Marlow authored
-
- 14 Feb, 2012 1 commit
-
-
Simon Hengel authored
Add a missing 'be' to Haddock comment of `HscTarget`.
-
- 09 Feb, 2012 1 commit
-
-
dterei authored
-
- 19 Jan, 2012 1 commit
-
-
Ian Lynagh authored
This patch defines a flag -fno-warn-pointless-pragmas, and uses it to disable some warnings in the containers package. Along the way, also made a ContainsDynFlags class, and added a HasDynFlags instance for IOEnv (and thus TcRnIf and DsM).
-
- 17 Jan, 2012 1 commit
-
-
dterei authored
-
- 16 Jan, 2012 1 commit
-
-
dreixel authored
-
- 13 Jan, 2012 2 commits
- 12 Jan, 2012 1 commit
-
-
Simon Peyton Jones authored
This patch implements the idea of deferring (most) type errors to runtime, instead emitting only a warning at compile time. The basic idea is very simple: * The on-the-fly unifier in TcUnify never fails; instead if it gets stuck it emits a constraint. * The constraint solver tries to solve the constraints (and is entirely unchanged, hooray). * The remaining, unsolved constraints (if any) are passed to TcErrors.reportUnsolved. With -fdefer-type-errors, instead of emitting an error message, TcErrors emits a warning, AND emits a binding for the constraint witness, binding it to (error "the error message"), via the new form of evidence TcEvidence.EvDelayedError. So, when the program is run, when (and only when) that witness is needed, the program will crash with the exact same error message that would have been given at compile time. Simple really. But, needless to say, the exercise forced me into some major refactoring. * TcErrors is almost entirely rewritten * EvVarX and WantedEvVar have gone away entirely * ErrUtils is changed a bit: * New Severity field in ErrMsg * Renamed the type Message to MsgDoc (this change touches a lot of files trivially) * One minor change is that in the constraint solver we try NOT to combine insoluble constraints, like Int~Bool, else all such type errors get combined together and result in only one error message! * I moved some definitions from TcSMonad to TcRnTypes, where they seem to belong more
-
- 20 Dec, 2011 1 commit
-
-
dterei authored
-
- 19 Dec, 2011 1 commit
-
-
Ian Lynagh authored
We no longer have many separate, clashing getDynFlags functions I've given each GhcMonad its own HasDynFlags instance, rather than using UndecidableInstances to make a GhcMonad m => HasDynFlags m instance.
-
- 12 Dec, 2011 1 commit
-
-
Simon Peyton Jones authored
This new feature-ette, enable with -XInstanceSigs, lets you give a type signature in an instance declaration: instance Eq Int where (==) :: Int -> Int -> Bool (==) = ...blah... Scoped type variables work too.
-
- 07 Dec, 2011 1 commit
-
-
Simon Marlow authored
-
- 02 Dec, 2011 1 commit
-
-
Simon Marlow authored
- Attach a SrcSpan to every CostCentre. This had the side effect that CostCentres that used to be merged because they had the same name are now considered distinct; so I had to add a Unique to CostCentre to give them distinct object-code symbols. - New flag: -fprof-auto-calls. This flag adds an automatic SCC to every call site (application, to be precise). This is typically more useful for call stacks than annotating whole functions. Various tidy-ups at the same time: removed unused NoCostCentre constructor, and refactored a bit in Coverage.lhs. The call stack we get from traceStack now looks like this: Stack trace: Main.CAF (<entire-module>) Main.main.xs (callstack002.hs:18:12-24) Main.map (callstack002.hs:13:12-16) Main.map.go (callstack002.hs:15:21-34) Main.map.go (callstack002.hs:15:21-23) Main.f (callstack002.hs:10:7-43)
-
- 28 Nov, 2011 1 commit
-
-
Ian Lynagh authored
In GHC, this provides an easy way to call a C function via a C wrapper. This is important when the function is really defined by CPP. Requires the new CApiFFI extension. Not documented yet, as it's still an experimental feature at this stage.
-
- 23 Nov, 2011 1 commit
-
-
Simon Marlow authored
This improves compile times slightly.
-
- 22 Nov, 2011 2 commits
- 21 Nov, 2011 2 commits
- 18 Nov, 2011 1 commit
-
-
Ian Lynagh authored
-ddump-* files are put in the given directory. -outputdir also sets the dumpdir.
-
- 16 Nov, 2011 3 commits
-
-
dterei authored
-
dterei authored
-
Simon Peyton Jones authored
I did a bit of refactoring (of course) at the same time. See the discussion in Trac #5587. Most of the real change is in CoreArity.
-
- 11 Nov, 2011 1 commit
-
-
dreixel authored
This big patch implements a kind-polymorphic core for GHC. The current implementation focuses on making sure that all kind-monomorphic programs still work in the new core; it is not yet guaranteed that kind-polymorphic programs (using the new -XPolyKinds flag) will work. For more information, see http://haskell.org/haskellwiki/GHC/Kinds
-
- 10 Nov, 2011 2 commits
-
-
Simon Marlow authored
Now included: - all language flags - all filename-related flags (-i, -osuf, -hidir etc.) - all CPP-related flags (-I, -D, -U)
-
chak@cse.unsw.edu.au. authored
-
- 09 Nov, 2011 1 commit
-
-
dterei authored
This means ghci now correctly picks up the package flags for tab completion.
-