Ticket #3217 (new feature request)
Make GHCi have separate flags for interactive Haskell expressions
| Reported by: | simonpj | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.6.2 |
| Component: | Compiler | Version: | 6.10.2 |
| Keywords: | Cc: | YitzGale, dterei, mle+hs@… | |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | None/Unknown | Difficulty: | Unknown |
| Test Case: | Blocked By: | ||
| Blocking: | #3202 | Related Tickets: |
Description
It's becoming clear that in GHCi we want to have a separate set of command-line flags for
- Compiling Haskell expressions typed at the GHCi prompt
- Compiling entire modules, eg via :load
Examples of this need are:
- We already have an ad-hoc difference in the way that type-class defaults are applied: http://www.haskell.org/ghc/docs/latest/html/users_guide/interactive-evaluation.html#extended-default-rules
- In #3202 there's a well-argued request to change behaviour of the monomorphism restriction
So the new feature would consist of:
- The InteractiveContext should contain a set of DynFlags used for compiling command-line Haskell expressions (the interactive DynFlags)
- The :set command would change both the DynFlags maintained by GHCi for compiling entire modules (the batch DynFlags), and the interactive DynFlags.
- A new :seti command to change the interactive flags
- Just possibly a :setb command to set the batch flags but leave the interactive ones unchanged.
Arguably it'd be good to have a command to display the current flag settings (of either DynFlags) but that's another blob of work.
Change History
Note: See
TracTickets for help on using
tickets.
