Commit Graph

60 Commits

Author SHA1 Message Date
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
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 4b6a687bc1 Migrate the remaining parts of the exposed API to `GhcMod a` 2014-07-11 03:13:38 +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 a45fb4c6f5 Move case split and sig. generation to own files
- Created SrcUtils module for shared functionality
2014-06-21 11:38:44 +02:00
Alejandro Serrano 8c56d2e3c8 Obtain better information for case split 2014-06-18 21:01:22 +02:00
Alejandro Serrano 5a968225c3 Initial skeleton for case split in elisp 2014-06-17 18:15:36 +02:00
Alejandro Serrano 8a63ae078b Add missing cases for signatures 2014-06-16 22:10:01 +02:00
Alejandro Serrano 585c28f928 Initial implementation of instance completion 2014-06-11 22:01:43 +02:00
Alejandro Serrano 323c1b5471 Initial support for adding body from signature 2014-06-10 21:34:05 +02:00
Alejandro Serrano cedf59ace7 Merge branch 'fix-typed-holes' 2014-06-10 17:09:46 +02:00
Alejandro Serrano 2f42d77b53 Add special cases for case splitting 2014-06-09 13:01:47 +02:00
Alejandro Serrano c9b901f4f9 Fix problems with GHC's Typed Holes 2014-06-09 10:30:33 +02:00
Alejandro Serrano 0c445aa30f Work on case split variable naming 2014-06-08 14:23:06 +02:00
Alejandro Serrano 6854d417c0 Initial implementation of case splitting
- It doesn't handle vars correctly yet
2014-06-08 12:33:13 +02:00
Daniel Gröber ebfb740a2e Move `convert` to it's own module. 2014-05-14 17:06:30 +02:00
Kazu Yamamoto 000076223f removing the third argument from initializeFlagsWithCradle. 2014-04-28 13:00:25 +09:00
Kazu Yamamoto 117d01a52a removing -Wall and -w:. 2014-04-28 12:52:09 +09:00
Kazu Yamamoto dede115731 defining withContext. 2014-04-27 21:26:03 +09:00
Kazu Yamamoto 64365807f9 refactoring. 2014-04-26 23:03:50 +09:00
Kazu Yamamoto 98d3c7028c refactoring. 2014-04-26 22:51:29 +09:00
Kazu Yamamoto c45415a367 cleaning up check, splice flag and logger. 2014-04-26 17:54:15 +09:00
Kazu Yamamoto c8fbdcfa2f Thanks to DeferTypeErrors, info/type can work even if the file contains errors. 2014-04-26 11:43:30 +09:00
Kazu Yamamoto e49fef6765 setTargetFiles now loads files. 2014-04-24 12:15:59 +09:00
Kazu Yamamoto 79946f9a3d removing withGHCDummyFile. 2014-04-23 16:37:24 +09:00
Kazu Yamamoto b2c2d1a443 cleaning up APIs. 2014-04-21 14:04:58 +09:00
Kazu Yamamoto 756d17eaa2 -l for ghc-modi info. 2014-04-21 09:45:41 +09:00
Kazu Yamamoto 8f5498c554 refactoring. 2014-04-11 14:59:31 +09:00
Kazu Yamamoto a0d559de61 clarifying Ghc and IO. 2014-04-11 13:14:45 +09:00
Kazu Yamamoto 998a43ce24 removing depanal. 2014-04-11 12:56:06 +09:00
Kazu Yamamoto 196450af9f simplifying modSummary. 2014-04-11 12:41:39 +09:00
Kazu Yamamoto 3ed59464f0 just style. 2014-04-11 12:21:58 +09:00
Kazu Yamamoto 862e8c397c refactoring. 2014-04-11 12:19:42 +09:00
Kazu Yamamoto dd8f9a5fcb refactoring. 2014-04-11 11:54:39 +09:00
Kazu Yamamoto e9859980ab info/type does not require module name.
Fallback was removed. See #199.
2014-04-11 11:51:25 +09:00
Kazu Yamamoto 54bea65736 style change. 2014-04-11 11:15:59 +09:00
Kazu Yamamoto ba4a1b9688 removing unnecessary code. 2014-04-11 11:13:24 +09:00
Kazu Yamamoto 1d2cf4cb9f fixing the fallback mechanism for info. 2014-04-11 11:02:05 +09:00
Kazu Yamamoto d6a81c0506 refactoring. 2014-04-10 16:41:05 +09:00
Kazu Yamamoto d6762ede6e fixing typos. 2014-04-10 16:36:15 +09:00
Kazu Yamamoto a6579c656b Displaying a qualified name if two unqualified names are conflict (#130). 2014-04-03 09:49:23 +09:00
Kazu Yamamoto 159b7b1eb6 don't use hiding. 2014-03-31 12:31:21 +09:00
Kazu Yamamoto ff70313049 close import. 2014-03-27 15:56:14 +09:00
Kazu Yamamoto 660a1e95f5 using liftIO from CoreMonad. 2014-03-27 15:08:07 +09:00
Kazu Yamamoto 16e050439d removing fast/slow code. 2014-03-17 15:56:00 +09:00
Kazu Yamamoto d9ff2241bd closed import. 2014-01-08 12:03:32 +09:00
Kazu Yamamoto 41da5cc505 defining deSugar. 2013-11-19 12:54:08 +09:00
Kazu Yamamoto 13738d4391 defining typeForUser. 2013-11-19 12:35:42 +09:00
Kazu Yamamoto 5097ef84e4 removing trailing WS. 2013-11-19 10:42:47 +09:00
Schell Scivally b8e20d8e2e Compatibility with ghc API >= 7.7 2013-11-19 10:30:18 +09:00