summaryrefslogtreecommitdiff
path: root/compiler/utils/Exception.hs
Commit message (Collapse)AuthorAgeFilesLines
* Modules: Utils and Data (#13009)Sylvain Henry2020-04-261-83/+0
| | | | | | | Update Haddock submodule Metric Increase: haddock.compiler
* compiler: introduce custom "GhcPrelude" PreludeHerbert Valerio Riedel2017-09-191-0/+2
| | | | | | | | | | | | | | | | | | This switches the compiler/ component to get compiled with -XNoImplicitPrelude and a `import GhcPrelude` is inserted in all modules. This is motivated by the upcoming "Prelude" re-export of `Semigroup((<>))` which would cause lots of name clashes in every modulewhich imports also `Outputable` Reviewers: austin, goldfire, bgamari, alanz, simonmar Reviewed By: bgamari Subscribers: goldfire, rwbarton, thomie, mpickering, bgamari Differential Revision: https://phabricator.haskell.org/D3989
* Remove some redundant definitions/constraintsHerbert Valerio Riedel2015-12-311-2/+1
| | | | | | Starting with GHC 7.10 and base-4.8, `Monad` implies `Applicative`, which allows to simplify some definitions to exploit the superclass relationship. This a first refactoring to that end.
* Make Monad/Applicative instances MRP-friendlyHerbert Valerio Riedel2015-10-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This patch refactors pure/(*>) and return/(>>) in MRP-friendly way, i.e. such that the explicit definitions for `return` and `(>>)` match the MRP-style default-implementation, i.e. return = pure and (>>) = (*>) This way, e.g. all `return = pure` definitions can easily be grepped and removed in GHC 8.1; Test Plan: Harbormaster Reviewers: goldfire, alanz, bgamari, quchen, austin Reviewed By: quchen, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1312
* Remove gblock and gunblockIan Lynagh2013-02-191-20/+4
|
* Use throwIO rather than throwIan Lynagh2013-01-301-1/+1
|
* Make MonadIO a superclass of ExceptionMonadIan Lynagh2013-01-301-1/+2
|
* Follow changes in baseIan Lynagh2012-06-191-4/+2
|
* Remove some dead codeIan Lynagh2011-12-151-8/+0
|
* remove unnecessary/broken definition of mask_Simon Marlow2010-10-021-5/+0
|
* adapt to the new async exceptions APISimon Marlow2010-07-091-15/+36
|
* The bootstrapping compiler is now required to be > 609Ian Lynagh2010-04-091-4/+0
|
* Support for -fwarn-unused-do-bind and -fwarn-wrong-do-bind, as per #3263Max Bolingbroke2009-07-011-3/+3
|
* Make 'gblock' and 'gunblock' part of 'ExceptionMonad'. This way theThomas Schilling2008-10-061-15/+32
| | | | | | default implementations of 'gbracket' and 'gfinally' just work. MERGE TO 6.10
* Use an extensible-exceptions package when bootstrappingIan Lynagh2008-10-031-42/+4
| | | | | | | Ifdefs for whether we had extensible exceptions or not were spreading through GHC's source, and things would only have got worse for the next 2-3 years, so instead we now use an implementation of extensible exceptions built on top of the old exception type.
* Introduce an 'ExceptionMonad' class.Thomas Schilling2008-09-141-0/+73
| | | | | | | | | | | This monad provides variants of 'catch', 'bracket', and 'finally', so exceptions can be handled in monads that wrap IO. The latter two methods need to be part of the class definition, because GHC uses 'block' and 'unblock' which are used in the definition of those two methods for the IO monad. A perhaps better class interface would consist of 'gcatch', 'gblock', and 'gunblock' and let the latter two default to 'id' like is done for non-GHC implementations of 'bracket' and 'finally'.
* Follow changes in the base libraryIan Lynagh2008-07-311-7/+30
| | | | | TopHandler now uses the new extensible exceptions module, so we need to interact with it using the new types.
* Follow extensible exception changesIan Lynagh2008-07-301-0/+19