hsdev 0.3.2.1 → 0.3.2.2
raw patch · 6 files changed
+40/−14 lines, 6 filesdep ~haddock-librarydep ~simple-logPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: haddock-library, simple-log
API changes (from Hackage documentation)
- Control.Concurrent.Worker: instance GHC.Exception.Exception Control.Concurrent.Worker.WorkerStopped
- HsDev.Tools.Ghc.MGhc: instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader (GHC.Base.Maybe GHC.IO.FilePath) (HsDev.Tools.Ghc.MGhc.MGhcT s d m)
- HsDev.Types: instance GHC.Exception.Exception HsDev.Types.HsDevError
+ Control.Concurrent.Worker: instance GHC.Exception.Type.Exception Control.Concurrent.Worker.WorkerStopped
+ HsDev.Database.SQLite: infixr 3 :.
+ HsDev.Database.Update.Types: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (HsDev.Database.Update.Types.UpdateM m)
+ HsDev.Server.Types: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (HsDev.Server.Types.ClientM m)
+ HsDev.Server.Types: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (HsDev.Server.Types.ServerM m)
+ HsDev.Tools.Ghc.Compat: mgArgTys :: MatchGroup TcId (LHsExpr TcId) -> Maybe [Type]
+ HsDev.Tools.Ghc.Compat: mgResTy :: MatchGroup TcId (LHsExpr TcId) -> Maybe Type
+ HsDev.Tools.Ghc.MGhc: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (GhcMonad.GhcT m)
+ HsDev.Tools.Ghc.MGhc: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (HsDev.Tools.Ghc.MGhc.MGhcT s d m)
+ HsDev.Tools.Ghc.MGhc: instance GHC.Base.Monad m => Control.Monad.Reader.Class.MonadReader (GHC.Maybe.Maybe GHC.IO.FilePath) (HsDev.Tools.Ghc.MGhc.MGhcT s d m)
+ HsDev.Types: instance GHC.Exception.Type.Exception HsDev.Types.HsDevError
- HsDev.Database.SQLite: [:=] :: NamedParam
+ HsDev.Database.SQLite: [:=] :: forall v. ToField v => Text -> v -> NamedParam
- HsDev.Database.SQLite: fold :: (FromRow row, ToRow params) => Connection -> Query -> params -> a -> a -> row -> IO a -> IO a
+ HsDev.Database.SQLite: fold :: (FromRow row, ToRow params) => Connection -> Query -> params -> a -> (a -> row -> IO a) -> IO a
- HsDev.Database.SQLite: foldNamed :: FromRow row => Connection -> Query -> [NamedParam] -> a -> a -> row -> IO a -> IO a
+ HsDev.Database.SQLite: foldNamed :: FromRow row => Connection -> Query -> [NamedParam] -> a -> (a -> row -> IO a) -> IO a
- HsDev.Database.SQLite: fold_ :: FromRow row => Connection -> Query -> a -> a -> row -> IO a -> IO a
+ HsDev.Database.SQLite: fold_ :: FromRow row => Connection -> Query -> a -> (a -> row -> IO a) -> IO a
- HsDev.Database.SQLite: nextRow :: FromRow r => Statement -> IO Maybe r
+ HsDev.Database.SQLite: nextRow :: FromRow r => Statement -> IO (Maybe r)
- HsDev.Database.SQLite: setTrace :: Connection -> Maybe Text -> IO () -> IO ()
+ HsDev.Database.SQLite: setTrace :: Connection -> Maybe (Text -> IO ()) -> IO ()
- HsDev.Database.SQLite: withConnection :: () => String -> Connection -> IO a -> IO a
+ HsDev.Database.SQLite: withConnection :: () => String -> (Connection -> IO a) -> IO a
- HsDev.Database.SQLite: withStatement :: () => Connection -> Query -> Statement -> IO a -> IO a
+ HsDev.Database.SQLite: withStatement :: () => Connection -> Query -> (Statement -> IO a) -> IO a
- HsDev.Database.SQLite.Transaction: Retries :: [Int] -> SQLError -> Bool -> Retries
+ HsDev.Database.SQLite.Transaction: Retries :: [Int] -> (SQLError -> Bool) -> Retries
- HsDev.Database.Update: scan :: UpdateMonad m => m [Only Int :. ModuleLocation :. Inspection] -> [ModuleToScan] -> [String] -> ([ModuleToScan] -> m ()) -> m ()
+ HsDev.Database.Update: scan :: UpdateMonad m => m [Only Int :. (ModuleLocation :. Inspection)] -> [ModuleToScan] -> [String] -> ([ModuleToScan] -> m ()) -> m ()
- HsDev.Database.Update.Types: CommandOptions :: FilePath -> Notification -> IO () -> IO () -> IO () -> CommandOptions
+ HsDev.Database.Update.Types: CommandOptions :: FilePath -> (Notification -> IO ()) -> IO () -> IO () -> CommandOptions
- HsDev.Database.Update.Types: Session :: Connection -> String -> SessionLog -> Maybe Watcher -> Path -> Maybe Text -> IO () -> GhcWorker -> Worker (ServerM IO) -> LookupTable (Maybe Path) (Environment, FixitiesTable) -> IO () -> IO () -> Chan (IO ()) -> [(String, String)] -> Session
+ HsDev.Database.Update.Types: Session :: Connection -> String -> SessionLog -> Maybe Watcher -> (Path -> Maybe Text -> IO ()) -> GhcWorker -> Worker (ServerM IO) -> LookupTable (Maybe Path) (Environment, FixitiesTable) -> IO () -> IO () -> Chan (IO ()) -> [(String, String)] -> Session
- HsDev.Database.Update.Types: type ServerMonadBase m = (MonadIO m, MonadMask m, MonadBaseControl IO m, Alternative m, MonadPlus m)
+ HsDev.Database.Update.Types: type ServerMonadBase m = (MonadIO m, MonadFail m, MonadMask m, MonadBaseControl IO m, Alternative m, MonadPlus m)
- HsDev.Project.Types: entity :: forall a_a1hUl a_a1jhL. Lens (Extensions a_a1hUl) (Extensions a_a1jhL) a_a1hUl a_a1jhL
+ HsDev.Project.Types: entity :: forall a_a1rJR a_a1tax. Lens (Extensions a_a1rJR) (Extensions a_a1tax) a_a1rJR a_a1tax
- HsDev.Project.Types: extensions :: forall a_a1hUl. Lens' (Extensions a_a1hUl) [Extension]
+ HsDev.Project.Types: extensions :: forall a_a1rJR. Lens' (Extensions a_a1rJR) [Extension]
- HsDev.Project.Types: ghcOptions :: forall a_a1hUl. Lens' (Extensions a_a1hUl) [Text]
+ HsDev.Project.Types: ghcOptions :: forall a_a1rJR. Lens' (Extensions a_a1rJR) [Text]
- HsDev.Server.Message: message :: forall a_a1Hvo a_a1HAD. Lens (Message a_a1Hvo) (Message a_a1HAD) a_a1Hvo a_a1HAD
+ HsDev.Server.Message: message :: forall a_a1RXV a_a1S3j. Lens (Message a_a1RXV) (Message a_a1S3j) a_a1RXV a_a1S3j
- HsDev.Server.Message: messageId :: forall a_a1Hvo. Lens' (Message a_a1Hvo) (Maybe String)
+ HsDev.Server.Message: messageId :: forall a_a1RXV. Lens' (Message a_a1RXV) (Maybe String)
- HsDev.Server.Types: CommandOptions :: FilePath -> Notification -> IO () -> IO () -> IO () -> CommandOptions
+ HsDev.Server.Types: CommandOptions :: FilePath -> (Notification -> IO ()) -> IO () -> IO () -> CommandOptions
- HsDev.Server.Types: InfoProject :: (Either Text Path) -> Command
+ HsDev.Server.Types: InfoProject :: Either Text Path -> Command
- HsDev.Server.Types: Listen :: (Maybe String) -> Command
+ HsDev.Server.Types: Listen :: Maybe String -> Command
- HsDev.Server.Types: Session :: Connection -> String -> SessionLog -> Maybe Watcher -> Path -> Maybe Text -> IO () -> GhcWorker -> Worker (ServerM IO) -> LookupTable (Maybe Path) (Environment, FixitiesTable) -> IO () -> IO () -> Chan (IO ()) -> [(String, String)] -> Session
+ HsDev.Server.Types: Session :: Connection -> String -> SessionLog -> Maybe Watcher -> (Path -> Maybe Text -> IO ()) -> GhcWorker -> Worker (ServerM IO) -> LookupTable (Maybe Path) (Environment, FixitiesTable) -> IO () -> IO () -> Chan (IO ()) -> [(String, String)] -> Session
- HsDev.Server.Types: SetFileContents :: Path -> (Maybe Text) -> Command
+ HsDev.Server.Types: SetFileContents :: Path -> Maybe Text -> Command
- HsDev.Server.Types: type ServerMonadBase m = (MonadIO m, MonadMask m, MonadBaseControl IO m, Alternative m, MonadPlus m)
+ HsDev.Server.Types: type ServerMonadBase m = (MonadIO m, MonadFail m, MonadMask m, MonadBaseControl IO m, Alternative m, MonadPlus m)
- HsDev.Stack: MaybeT :: m Maybe a -> MaybeT a
+ HsDev.Stack: MaybeT :: m (Maybe a) -> MaybeT a
- HsDev.Stack: [runMaybeT] :: MaybeT a -> m Maybe a
+ HsDev.Stack: [runMaybeT] :: MaybeT a -> m (Maybe a)
- HsDev.Stack: newtype MaybeT (m :: * -> *) a
+ HsDev.Stack: newtype MaybeT (m :: Type -> Type) a
- HsDev.Symbols.Types: inspectedKey :: forall k_a2hVk t_a2hVl a_a2hVm k_a2kTR. Lens (Inspected k_a2hVk t_a2hVl a_a2hVm) (Inspected k_a2kTR t_a2hVl a_a2hVm) k_a2hVk k_a2kTR
+ HsDev.Symbols.Types: inspectedKey :: forall k_a2uMH t_a2uMI a_a2uMJ k_a2y25. Lens (Inspected k_a2uMH t_a2uMI a_a2uMJ) (Inspected k_a2y25 t_a2uMI a_a2uMJ) k_a2uMH k_a2y25
- HsDev.Symbols.Types: inspection :: forall k_a2hVk t_a2hVl a_a2hVm. Lens' (Inspected k_a2hVk t_a2hVl a_a2hVm) Inspection
+ HsDev.Symbols.Types: inspection :: forall k_a2uMH t_a2uMI a_a2uMJ. Lens' (Inspected k_a2uMH t_a2uMI a_a2uMJ) Inspection
- HsDev.Symbols.Types: inspectionResult :: forall k_a2hVk t_a2hVl a_a2hVm a_a2kTS. Lens (Inspected k_a2hVk t_a2hVl a_a2hVm) (Inspected k_a2hVk t_a2hVl a_a2kTS) (Either HsDevError a_a2hVm) (Either HsDevError a_a2kTS)
+ HsDev.Symbols.Types: inspectionResult :: forall k_a2uMH t_a2uMI a_a2uMJ a_a2y26. Lens (Inspected k_a2uMH t_a2uMI a_a2uMJ) (Inspected k_a2uMH t_a2uMI a_a2y26) (Either HsDevError a_a2uMJ) (Either HsDevError a_a2y26)
- HsDev.Symbols.Types: inspectionTags :: forall k_a2hVk t_a2hVl a_a2hVm t_a2kTT. Lens (Inspected k_a2hVk t_a2hVl a_a2hVm) (Inspected k_a2hVk t_a2kTT a_a2hVm) (Set t_a2hVl) (Set t_a2kTT)
+ HsDev.Symbols.Types: inspectionTags :: forall k_a2uMH t_a2uMI a_a2uMJ t_a2y27. Lens (Inspected k_a2uMH t_a2uMI a_a2uMJ) (Inspected k_a2uMH t_a2y27 a_a2uMJ) (Set t_a2uMI) (Set t_a2y27)
- HsDev.Symbols.Types: scopeQualifier :: forall a_a2hVn. Lens' (Scoped a_a2hVn) (Maybe Text)
+ HsDev.Symbols.Types: scopeQualifier :: forall a_a2uMK. Lens' (Scoped a_a2uMK) (Maybe Text)
- HsDev.Symbols.Types: scoped :: forall a_a2hVn a_a2kOZ. Lens (Scoped a_a2hVn) (Scoped a_a2kOZ) a_a2hVn a_a2kOZ
+ HsDev.Symbols.Types: scoped :: forall a_a2uMK a_a2xWX. Lens (Scoped a_a2uMK) (Scoped a_a2xWX) a_a2uMK a_a2xWX
- HsDev.Tools.AutoFix: atRegion :: Editable s => Region -> Lens' Contents s Contents s
+ HsDev.Tools.AutoFix: atRegion :: Editable s => Region -> Lens' (Contents s) (Contents s)
- HsDev.Tools.AutoFix: class Editable s => EditAction (e :: * -> *) s
+ HsDev.Tools.AutoFix: class Editable s => EditAction (e :: Type -> Type) s
- HsDev.Tools.AutoFix: contents :: (Editable a, Editable b) => Iso a b Contents a Contents b
+ HsDev.Tools.AutoFix: contents :: (Editable a, Editable b) => Iso a b (Contents a) (Contents b)
- HsDev.Tools.AutoFix: replaceRegion :: Functor f => Region -> f Region -> Replace s -> f Replace s
+ HsDev.Tools.AutoFix: replaceRegion :: () => Lens' (Replace s) Region
- HsDev.Tools.AutoFix: replaceWith :: Functor f => Contents s1 -> f Contents s2 -> Replace s1 -> f Replace s2
+ HsDev.Tools.AutoFix: replaceWith :: () => Lens (Replace s1) (Replace s2) (Contents s1) (Contents s2)
- HsDev.Tools.AutoFix: replaces :: (Profunctor p, Functor f) => p [Replace s1] f [Replace s2] -> p Edit s1 f Edit s2
+ HsDev.Tools.AutoFix: replaces :: () => Iso (Edit s1) (Edit s2) [Replace s1] [Replace s2]
- HsDev.Tools.AutoFix: splitted :: Editable a => Point -> Iso' Contents a (Contents a, Contents a)
+ HsDev.Tools.AutoFix: splitted :: Editable a => Point -> Iso' (Contents a) (Contents a, Contents a)
- HsDev.Tools.Ghc.Prelude: all :: Foldable t => a -> Bool -> t a -> Bool
+ HsDev.Tools.Ghc.Prelude: all :: Foldable t => (a -> Bool) -> t a -> Bool
- HsDev.Tools.Ghc.Prelude: any :: Foldable t => a -> Bool -> t a -> Bool
+ HsDev.Tools.Ghc.Prelude: any :: Foldable t => (a -> Bool) -> t a -> Bool
- HsDev.Tools.Ghc.Prelude: break :: () => a -> Bool -> [a] -> ([a], [a])
+ HsDev.Tools.Ghc.Prelude: break :: () => (a -> Bool) -> [a] -> ([a], [a])
- HsDev.Tools.Ghc.Prelude: concatMap :: Foldable t => a -> [b] -> t a -> [b]
+ HsDev.Tools.Ghc.Prelude: concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
- HsDev.Tools.Ghc.Prelude: deleteBy :: () => a -> a -> Bool -> a -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: deleteBy :: () => (a -> a -> Bool) -> a -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: deleteFirstsBy :: () => a -> a -> Bool -> [a] -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: deleteFirstsBy :: () => (a -> a -> Bool) -> [a] -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: dropWhile :: () => a -> Bool -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: dropWhile :: () => (a -> Bool) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: dropWhileEnd :: () => a -> Bool -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: dropWhileEnd :: () => (a -> Bool) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: filter :: () => a -> Bool -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: filter :: () => (a -> Bool) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: find :: Foldable t => a -> Bool -> t a -> Maybe a
+ HsDev.Tools.Ghc.Prelude: find :: Foldable t => (a -> Bool) -> t a -> Maybe a
- HsDev.Tools.Ghc.Prelude: findIndex :: () => a -> Bool -> [a] -> Maybe Int
+ HsDev.Tools.Ghc.Prelude: findIndex :: () => (a -> Bool) -> [a] -> Maybe Int
- HsDev.Tools.Ghc.Prelude: findIndices :: () => a -> Bool -> [a] -> [Int]
+ HsDev.Tools.Ghc.Prelude: findIndices :: () => (a -> Bool) -> [a] -> [Int]
- HsDev.Tools.Ghc.Prelude: foldl :: Foldable t => b -> a -> b -> b -> t a -> b
+ HsDev.Tools.Ghc.Prelude: foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
- HsDev.Tools.Ghc.Prelude: foldl' :: Foldable t => b -> a -> b -> b -> t a -> b
+ HsDev.Tools.Ghc.Prelude: foldl' :: Foldable t => (b -> a -> b) -> b -> t a -> b
- HsDev.Tools.Ghc.Prelude: foldl1 :: Foldable t => a -> a -> a -> t a -> a
+ HsDev.Tools.Ghc.Prelude: foldl1 :: Foldable t => (a -> a -> a) -> t a -> a
- HsDev.Tools.Ghc.Prelude: foldl1' :: () => a -> a -> a -> [a] -> a
+ HsDev.Tools.Ghc.Prelude: foldl1' :: () => (a -> a -> a) -> [a] -> a
- HsDev.Tools.Ghc.Prelude: foldr :: Foldable t => a -> b -> b -> b -> t a -> b
+ HsDev.Tools.Ghc.Prelude: foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
- HsDev.Tools.Ghc.Prelude: foldr1 :: Foldable t => a -> a -> a -> t a -> a
+ HsDev.Tools.Ghc.Prelude: foldr1 :: Foldable t => (a -> a -> a) -> t a -> a
- HsDev.Tools.Ghc.Prelude: groupBy :: () => a -> a -> Bool -> [a] -> [[a]]
+ HsDev.Tools.Ghc.Prelude: groupBy :: () => (a -> a -> Bool) -> [a] -> [[a]]
- HsDev.Tools.Ghc.Prelude: insertBy :: () => a -> a -> Ordering -> a -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: insertBy :: () => (a -> a -> Ordering) -> a -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: intersectBy :: () => a -> a -> Bool -> [a] -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: intersectBy :: () => (a -> a -> Bool) -> [a] -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: iterate :: () => a -> a -> a -> [a]
+ HsDev.Tools.Ghc.Prelude: iterate :: () => (a -> a) -> a -> [a]
- HsDev.Tools.Ghc.Prelude: iterate' :: () => a -> a -> a -> [a]
+ HsDev.Tools.Ghc.Prelude: iterate' :: () => (a -> a) -> a -> [a]
- HsDev.Tools.Ghc.Prelude: map :: () => a -> b -> [a] -> [b]
+ HsDev.Tools.Ghc.Prelude: map :: () => (a -> b) -> [a] -> [b]
- HsDev.Tools.Ghc.Prelude: mapAccumL :: Traversable t => a -> b -> (a, c) -> a -> t b -> (a, t c)
+ HsDev.Tools.Ghc.Prelude: mapAccumL :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
- HsDev.Tools.Ghc.Prelude: mapAccumR :: Traversable t => a -> b -> (a, c) -> a -> t b -> (a, t c)
+ HsDev.Tools.Ghc.Prelude: mapAccumR :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
- HsDev.Tools.Ghc.Prelude: maximumBy :: Foldable t => a -> a -> Ordering -> t a -> a
+ HsDev.Tools.Ghc.Prelude: maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
- HsDev.Tools.Ghc.Prelude: minimumBy :: Foldable t => a -> a -> Ordering -> t a -> a
+ HsDev.Tools.Ghc.Prelude: minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
- HsDev.Tools.Ghc.Prelude: nubBy :: () => a -> a -> Bool -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: nubBy :: () => (a -> a -> Bool) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: partition :: () => a -> Bool -> [a] -> ([a], [a])
+ HsDev.Tools.Ghc.Prelude: partition :: () => (a -> Bool) -> [a] -> ([a], [a])
- HsDev.Tools.Ghc.Prelude: scanl :: () => b -> a -> b -> b -> [a] -> [b]
+ HsDev.Tools.Ghc.Prelude: scanl :: () => (b -> a -> b) -> b -> [a] -> [b]
- HsDev.Tools.Ghc.Prelude: scanl' :: () => b -> a -> b -> b -> [a] -> [b]
+ HsDev.Tools.Ghc.Prelude: scanl' :: () => (b -> a -> b) -> b -> [a] -> [b]
- HsDev.Tools.Ghc.Prelude: scanl1 :: () => a -> a -> a -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: scanl1 :: () => (a -> a -> a) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: scanr :: () => a -> b -> b -> b -> [a] -> [b]
+ HsDev.Tools.Ghc.Prelude: scanr :: () => (a -> b -> b) -> b -> [a] -> [b]
- HsDev.Tools.Ghc.Prelude: scanr1 :: () => a -> a -> a -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: scanr1 :: () => (a -> a -> a) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: sortBy :: () => a -> a -> Ordering -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: sortBy :: () => (a -> a -> Ordering) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: sortOn :: Ord b => a -> b -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: sortOn :: Ord b => (a -> b) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: span :: () => a -> Bool -> [a] -> ([a], [a])
+ HsDev.Tools.Ghc.Prelude: span :: () => (a -> Bool) -> [a] -> ([a], [a])
- HsDev.Tools.Ghc.Prelude: takeWhile :: () => a -> Bool -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: takeWhile :: () => (a -> Bool) -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: unfoldr :: () => b -> Maybe (a, b) -> b -> [a]
+ HsDev.Tools.Ghc.Prelude: unfoldr :: () => (b -> Maybe (a, b)) -> b -> [a]
- HsDev.Tools.Ghc.Prelude: unionBy :: () => a -> a -> Bool -> [a] -> [a] -> [a]
+ HsDev.Tools.Ghc.Prelude: unionBy :: () => (a -> a -> Bool) -> [a] -> [a] -> [a]
- HsDev.Tools.Ghc.Prelude: zipWith :: () => a -> b -> c -> [a] -> [b] -> [c]
+ HsDev.Tools.Ghc.Prelude: zipWith :: () => (a -> b -> c) -> [a] -> [b] -> [c]
- HsDev.Tools.Ghc.Prelude: zipWith3 :: () => a -> b -> c -> d -> [a] -> [b] -> [c] -> [d]
+ HsDev.Tools.Ghc.Prelude: zipWith3 :: () => (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
- HsDev.Tools.Ghc.Prelude: zipWith4 :: () => a -> b -> c -> d -> e -> [a] -> [b] -> [c] -> [d] -> [e]
+ HsDev.Tools.Ghc.Prelude: zipWith4 :: () => (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
- HsDev.Tools.Ghc.Prelude: zipWith5 :: () => a -> b -> c -> d -> e -> f -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ HsDev.Tools.Ghc.Prelude: zipWith5 :: () => (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
- HsDev.Tools.Ghc.Prelude: zipWith6 :: () => a -> b -> c -> d -> e -> f -> g -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ HsDev.Tools.Ghc.Prelude: zipWith6 :: () => (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
- HsDev.Tools.Ghc.Prelude: zipWith7 :: () => a -> b -> c -> d -> e -> f -> g -> h -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ HsDev.Tools.Ghc.Prelude: zipWith7 :: () => (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
- HsDev.Tools.Ghc.Types: fileTypes :: (MonadLog m, GhcMonad m) => Module -> Maybe Text -> m [Note TypedExpr]
+ HsDev.Tools.Ghc.Types: fileTypes :: (MonadLog m, MonadFail m, GhcMonad m) => Module -> Maybe Text -> m [Note TypedExpr]
- HsDev.Tools.Ghc.Types: inferTypes :: (MonadLog m, GhcMonad m) => Module -> Maybe Text -> m Module
+ HsDev.Tools.Ghc.Types: inferTypes :: (MonadLog m, MonadFail m, GhcMonad m) => Module -> Maybe Text -> m Module
- HsDev.Tools.Ghc.Types: moduleTypes :: GhcMonad m => Path -> m [(SrcSpan, Type)]
+ HsDev.Tools.Ghc.Types: moduleTypes :: (MonadFail m, GhcMonad m) => Path -> m [(SrcSpan, Type)]
- HsDev.Tools.Ghc.Worker: newtype LogT (m :: * -> *) a
+ HsDev.Tools.Ghc.Worker: newtype LogT (m :: Type -> Type) a
- HsDev.Tools.HDocs: hdocsCabal :: PackageDbStack -> [String] -> GhcM [(ModulePackage, (Map Text (Map Text Text)))]
+ HsDev.Tools.HDocs: hdocsCabal :: PackageDbStack -> [String] -> GhcM [(ModulePackage, Map Text (Map Text Text))]
- HsDev.Tools.Types: note :: forall a_a1KCF a_a1KNX. Lens (Note a_a1KCF) (Note a_a1KNX) a_a1KCF a_a1KNX
+ HsDev.Tools.Types: note :: forall a_a1Vd8 a_a1Vp2. Lens (Note a_a1Vd8) (Note a_a1Vp2) a_a1Vd8 a_a1Vp2
- HsDev.Tools.Types: noteLevel :: forall a_a1KCF. Lens' (Note a_a1KCF) (Maybe Severity)
+ HsDev.Tools.Types: noteLevel :: forall a_a1Vd8. Lens' (Note a_a1Vd8) (Maybe Severity)
- HsDev.Tools.Types: noteRegion :: forall a_a1KCF. Lens' (Note a_a1KCF) Region
+ HsDev.Tools.Types: noteRegion :: forall a_a1Vd8. Lens' (Note a_a1Vd8) Region
- HsDev.Tools.Types: noteSource :: forall a_a1KCF. Lens' (Note a_a1KCF) ModuleLocation
+ HsDev.Tools.Types: noteSource :: forall a_a1Vd8. Lens' (Note a_a1Vd8) ModuleLocation
- HsDev.Util: class Monad m => MonadIO (m :: * -> *)
+ HsDev.Util: class Monad m => MonadIO (m :: Type -> Type)
Files
- hsdev.cabal +3/−3
- src/HsDev/Database/Update/Types.hs +2/−1
- src/HsDev/Server/Types.hs +4/−3
- src/HsDev/Tools/Ghc/Compat.hs +18/−1
- src/HsDev/Tools/Ghc/MGhc.hs +5/−1
- src/HsDev/Tools/Ghc/Types.hs +8/−5
hsdev.cabal view
@@ -1,5 +1,5 @@ name: hsdev-version: 0.3.2.1+version: 0.3.2.2 synopsis: Haskell development library description: Haskell development library and tool with support of autocompletion, symbol info, go to declaration, find references, hayoo search etc.@@ -155,7 +155,7 @@ build-depends: hdocs >= 0.5.2, haddock-api >= 2.17.4,- haddock-library >= 1.4.3 && < 1.7+ haddock-library >= 1.4.3 && < 1.8 if flag(hlint) build-depends:@@ -198,7 +198,7 @@ process >= 1.4.2.0 && < 1.7, regex-pcre-builtin >= 0.94.4 && < 0.95, scientific >= 0.3.4.9 && < 0.4,- simple-log == 0.9.*,+ simple-log >= 0.9.9 && < 0.10, sqlite-simple >= 0.4.13.0 && < 0.5, stm >= 2.4 && < 2.6, syb >= 0.6 && < 0.8,
src/HsDev/Database/Update/Types.hs view
@@ -15,6 +15,7 @@ import Control.Monad.Base import Control.Monad.Catch import Control.Monad.Except+import Control.Monad.Fail (MonadFail) import Control.Monad.Morph import Control.Monad.Reader import Control.Monad.Writer@@ -119,7 +120,7 @@ liftIO $ inWorker w act newtype UpdateM m a = UpdateM { runUpdateM :: ReaderT UpdateState (WriterT [ModuleLocation] (ClientM m)) a }- deriving (Applicative, Alternative, Monad, MonadPlus, MonadIO, MonadThrow, MonadCatch, MonadMask, Functor, MonadReader UpdateState, MonadWriter [ModuleLocation])+ deriving (Applicative, Alternative, Monad, MonadFail, MonadPlus, MonadIO, MonadThrow, MonadCatch, MonadMask, Functor, MonadReader UpdateState, MonadWriter [ModuleLocation]) instance MonadTrans UpdateM where lift = UpdateM . lift . lift . lift
src/HsDev/Server/Types.hs view
@@ -22,6 +22,7 @@ import Control.Monad.Base import Control.Monad.Catch import Control.Monad.Except+import Control.Monad.Fail import Control.Monad.Morph import Control.Monad.Reader import Control.Monad.State@@ -60,7 +61,7 @@ import System.Win32.FileMapping.NamePool (Pool) #endif -type ServerMonadBase m = (MonadIO m, MonadMask m, MonadBaseControl IO m, Alternative m, MonadPlus m)+type ServerMonadBase m = (MonadIO m, MonadFail m, MonadMask m, MonadBaseControl IO m, Alternative m, MonadPlus m) data SessionLog = SessionLog { sessionLogger :: Log,@@ -92,7 +93,7 @@ askSession f = liftM f getSession newtype ServerM m a = ServerM { runServerM :: ReaderT Session m a }- deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadIO, MonadReader Session, MonadTrans, MonadThrow, MonadCatch, MonadMask)+ deriving (Functor, Applicative, Alternative, Monad, MonadFail, MonadPlus, MonadIO, MonadReader Session, MonadTrans, MonadThrow, MonadCatch, MonadMask) instance (MonadIO m, MonadMask m) => MonadLog (ServerM m) where askLog = ServerM $ asks (sessionLogger . sessionLog)@@ -142,7 +143,7 @@ askOptions f = liftM f getOptions newtype ClientM m a = ClientM { runClientM :: ServerM (ReaderT CommandOptions m) a }- deriving (Functor, Applicative, Alternative, Monad, MonadPlus, MonadIO, MonadThrow, MonadCatch, MonadMask)+ deriving (Functor, Applicative, Alternative, Monad, MonadFail, MonadPlus, MonadIO, MonadThrow, MonadCatch, MonadMask) instance MonadTrans ClientM where lift = ClientM . lift . lift
src/HsDev/Tools/Ghc/Compat.hs view
@@ -14,7 +14,8 @@ exposedModuleName, exprType, modSummaries,- cleanTemps+ cleanTemps,+ mgArgTys, mgResTy ) where import qualified BasicTypes@@ -234,4 +235,20 @@ cleanTemps df = do SysTools.cleanTempFiles df SysTools.cleanTempDirs df+#endif++mgArgTys :: GHC.MatchGroup TcId (GHC.LHsExpr TcId) -> Maybe [GHC.Type]+#if __GLASGOW_HASKELL__ >= 806+mgArgTys (GHC.MG{GHC.mg_ext=ext}) = Just $ GHC.mg_arg_tys ext+mgArgTys _ = Nothing+#else+mgArgTys = Just . GHC.mg_arg_tys+#endif++mgResTy :: GHC.MatchGroup TcId (GHC.LHsExpr TcId) -> Maybe GHC.Type+#if __GLASGOW_HASKELL__ >= 806+mgResTy (GHC.MG{GHC.mg_ext=ext}) = Just $ GHC.mg_res_ty ext+mgResTy _ = Nothing+#else+mgResTy = Just . GHC.mg_res_ty #endif
src/HsDev/Tools/Ghc/MGhc.hs view
@@ -12,6 +12,7 @@ ) where import Control.Lens+import Control.Monad.Fail as Fail import Control.Monad.Morph import Control.Monad.Catch import Control.Monad.Reader@@ -80,13 +81,16 @@ -- | Multi-session ghc monad newtype MGhcT s d m a = MGhcT { unMGhcT :: GhcT (ReaderT (Maybe FilePath) (StateT (SessionState s d) m)) a }- deriving (Functor, Applicative, Monad, MonadIO, ExceptionMonad, HasDynFlags, GhcMonad, MonadState (SessionState s d), MonadReader (Maybe FilePath), MonadThrow, MonadCatch, MonadMask, MonadLog)+ deriving (Functor, Applicative, Monad, MonadFail, MonadIO, ExceptionMonad, HasDynFlags, GhcMonad, MonadState (SessionState s d), MonadReader (Maybe FilePath), MonadThrow, MonadCatch, MonadMask, MonadLog) instance MonadTrans GhcT where lift = liftGhcT instance MFunctor GhcT where hoist fn = GhcT . (fn .) . unGhcT++instance MonadFail m => MonadFail (GhcT m) where+ fail = lift . Fail.fail instance MonadState st m => MonadState st (GhcT m) where get = lift get
src/HsDev/Tools/Ghc/Types.hs view
@@ -9,6 +9,7 @@ import Control.DeepSeq import Control.Lens (over, view, set, each, preview, makeLenses, _Just) import Control.Monad+import Control.Monad.Fail (MonadFail) import Control.Monad.IO.Class import Data.Aeson import Data.Generics@@ -48,8 +49,10 @@ return (getLoc e, C.exprType ex) instance HasType (LHsBind TcId) where- getType (L _ FunBind { fun_id = fid, fun_matches = m}) = return $ Just (getLoc fid, typ) where- typ = mkFunTys (mg_arg_tys m) (mg_res_ty m)+ getType (L _ FunBind { fun_id = fid, fun_matches = m}) = return $ do+ argTys <- mgArgTys m+ resTy <- mgResTy m+ return (getLoc fid, mkFunTys argTys resTy) getType _ = return Nothing instance HasType (LPat TcId) where@@ -69,7 +72,7 @@ nameSet :: NameSet -> Bool nameSet = const True -moduleTypes :: GhcMonad m => Path -> m [(SrcSpan, Type)]+moduleTypes :: (MonadFail m, GhcMonad m) => Path -> m [(SrcSpan, Type)] moduleTypes fpath = do fpath' <- liftIO $ canonicalize fpath mg <- getModuleGraph@@ -106,7 +109,7 @@ v .:: "type" -- | Get all types in module-fileTypes :: (MonadLog m, GhcMonad m) => Module -> Maybe Text -> m [Note TypedExpr]+fileTypes :: (MonadLog m, MonadFail m, GhcMonad m) => Module -> Maybe Text -> m [Note TypedExpr] fileTypes m msrc = scope "types" $ case view (moduleId . moduleLocation) m of FileModule file proj -> do file' <- liftIO $ canonicalize file@@ -145,5 +148,5 @@ return $ set (symbolInfo . functionType) (Just $ view (note . typedType) tnote) d -- | Infer types in module-inferTypes :: (MonadLog m, GhcMonad m) => Module -> Maybe Text -> m Module+inferTypes :: (MonadLog m, MonadFail m, GhcMonad m) => Module -> Maybe Text -> m Module inferTypes m msrc = scope "infer" $ liftM (`setModuleTypes` m) $ fileTypes m msrc