Name: explicit-exception Version: 0.0.2 License: BSD3 License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: http://www.haskell.org/haskellwiki/Exception Package-URL: http://code.haskell.org/explicit-exception/ Category: Control Stability: Experimental Synopsis: Exceptions which are explicit in the type signature. Description: Synchronous and Asynchronous exceptions which are explicit in the type signature. The first ones are very similar to 'Either' and 'Control.Monad.Error.ErrorT'. The second ones are used for 'System.IO.readFile' and 'System.IO.hGetContents'. This package is a proposal for improved exception handling in Haskell. It strictly separates between handling of exceptional situations (file not found, invalid user input, see ) and (programming) errors (division by zero, index out of range, see ). Handling of the first one is called \"exception handling\", whereas handling of errors is better known as \"debugging\". . For an application see the @midi@ package. . Although I'm not happy with the identifier style of the Monad Template Library (partially intended for unqualified use) I have tried to adopt it for this library, in order to let Haskell programmers get accustomed easily to it. . To do: Because many people requested it, we will provide a @bracket@ function that frees a resource both when an exception and an error occurs, that is, it combines exception handling and debugging. However note that freeing resources in case of an error is dangerous and may cause further damage. Tested-With: GHC==6.8.2 Cabal-Version: >=1.2 Build-Type: Simple Library Build-Depends: base >= 2, mtl GHC-Options: -Wall Hs-Source-Dirs: src Exposed-Modules: Control.Monad.Exception.Asynchronous Control.Monad.Exception.Synchronous Other-Modules: Control.Monad.Exception.Warning Control.Monad.Exception.Label Control.Monad.Label System.IO.Straight System.IO.Exception.File System.IO.Exception.BinaryFile System.IO.Exception.TextFile -- System.IO.Exception.Std -- Debug.Error