Commit Graph

31 Commits

Author SHA1 Message Date
Nikolay Yakimov dcaf95b4e3 Fix file-map for case-split 2016-03-15 21:43:27 +03:00
Daniel Gröber 41de8b8b2e Sandwich new Monad layer GmOutT into transformer stack
This way we can have access to some options pre Cradle setup which
should fix the output interleaving problems I was observing.
2015-09-01 10:32:27 +02:00
Daniel Gröber 0b65487e50 Stderr output pre-GhcModT for stack cradle 2015-08-31 07:49:06 +02:00
Anthony Cowley 78c5cea161 DeferErrors implies DeferTypedHoles in GHC >= 7.10
The Opt_DeferErrors flag should imply Opt_DeferTypedHoles. The proper
API for setting these flags that implements such implications is
unfortunately not exposed by GHC.
2015-08-17 15:14:44 -04:00
Alejandro Serrano 45f8194c0c Set -fdefer-types-holes in case split 2015-08-17 14:54:10 -04:00
Daniel Gröber 1f14ff08c6 Log exceptions as GmException 2015-08-17 06:52:56 +02:00
Nikolay Yakimov 8f931eb928 Fix problem with fileModSummary 2015-08-15 21:07:35 +03:00
Daniel Gröber d0ca3ee807 Fix MonadIO mess 2015-04-12 02:48:54 +02:00
Daniel Gröber 55216e4af3 ifdef for ghc < 7.10 2015-03-28 19:54:10 +01:00
Markus Hauck e3812b49ec GHC 7.10.0.20150123 fixes 2015-03-28 19:13:51 +01:00
Daniel Gröber 539c294dd4 Fix a bunch of relate exception handling problems
should handle exceptions outside of runGmlT otherwise we don't catch ghc
load related ones.
2015-03-09 22:04:04 +01:00
Daniel Gröber 82bb0090c0 Refactoring to use cabal-helper-wrapper
This turned out to be quite involved but save for this huge commit it's
actually quite awesome and squashes quite a few bugs and nasty
problems (hopefully). Most importantly we now have native cabal
component support without the user having to do anything to get it!

To do this we traverse imports starting from each component's
entrypoints (library modules or Main source file for executables) and
use this information to find which component's options each module will
build with. Under the assumption that these modules have to build with
every component they're used in we can now just pick one.

Quite a few internal assumptions have been invalidated by this
change. Most importantly the runGhcModT* family of cuntions now change
the current working directory to `cradleRootDir`.
2015-03-05 17:35:24 +01:00
Rob Everest 56cc237e26 Support where clauses, let bindings and case expressions in case splitting (fixes #395) 2014-11-03 00:15:12 +01:00
Alan Zimmerman 0944820dba CaseSplit panic sorted. closes https://github.com/kazu-yamamoto/ghc-mod/issues/336 2014-08-23 14:06:26 +02:00
Daniel Gröber ec1b115cc1 In `check`, apply ghcUserOptions after setting -Wall 2014-08-13 19:28:08 +02:00
Alejandro Serrano 9161757f95 First attempt to add auto 2014-08-01 17:08:23 +02:00
Alejandro Serrano f1d0436467 Remove case splitting for type families 2014-07-27 12:20:46 +02:00
Alejandro Serrano 9b500da4b8 Another try at case split for type families 2014-07-26 13:07:45 +02:00
Alejandro Serrano 361fe24be0 Start case splitting on type families (NOT working) 2014-07-24 20:21:05 +02:00
Alejandro Serrano eb5ec73ae1 Complete parenthesis on refinement 2014-07-20 13:33:36 +02:00
Kazu Yamamoto cffa7463eb adopting hlint's suggestions. 2014-07-17 17:16:44 +09:00
Kazu Yamamoto 86829561ab style only. 2014-07-15 12:41:10 +09:00
Kazu Yamamoto 84c3cec0f1 moving #if to Gap.hs. 2014-07-15 12:40:18 +09:00
Daniel Gröber f0bfcb8811 Use GhcModT everywhere and remove the GhcMod alias
Not doing this makes having GhcModT pretty pointless as users of the
library wouldn't be able to use custom inner monads as evey function for
dealing with GhcModT's would be constraint to (GhcModT IO) thus only
allowing IO as the inner monad.
2014-07-15 01:03:56 +02:00
Daniel Gröber 56ad1a3c8c Control.Monad.Trans.MonadIO -> CoreMonad.MonadIO
they are different before ghc 7.8
2014-07-11 04:12:05 +02:00
Daniel Gröber 4b6a687bc1 Migrate the remaining parts of the exposed API to `GhcMod a` 2014-07-11 03:13:38 +02:00
Alejandro Serrano 063ca80946 Fix compilation errors on ghc < 7.8 2014-07-01 17:43:13 +02:00
Alejandro Serrano 1b66f65b48 Move lots of stuff to GhcMod
- Generalize many signatures to GhcMonad m
2014-06-28 21:43:51 +02:00
Alejandro Serrano 871f72fca4 Remove code with extensions not present < ghc 7.8 2014-06-27 19:32:05 +02:00
Alejandro Serrano edfe0c8ef3 Cleaning of case splitting code 2014-06-27 19:06:20 +02:00
Alejandro Serrano 2ab6991d95 Move code to new FillSig module
- Clean up a lot of code
2014-06-27 18:38:15 +02:00