Skip to content
Snippets Groups Projects
Commit a585ff39 authored by sof's avatar sof
Browse files

[project @ 1999-01-19 09:57:12 by sof]

bracket and bracket_ had a less general type than they should
have. They now match what the docs says.
parent 571f57b0
No related branches found
No related tags found
No related merge requests found
% ----------------------------------------------------------------------------- % -----------------------------------------------------------------------------
% $Id: Exception.lhs,v 1.4 1999/01/14 18:15:29 sof Exp $ % $Id: Exception.lhs,v 1.5 1999/01/19 09:57:12 sof Exp $
% %
% (c) The GRAP/AQUA Project, Glasgow University, 1998 % (c) The GRAP/AQUA Project, Glasgow University, 1998
% %
...@@ -192,17 +192,21 @@ a `finally` sequel = do ...@@ -192,17 +192,21 @@ a `finally` sequel = do
tryAllIO a tryAllIO a
sequel sequel
bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO () bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket before after thing = do bracket before after thing = do
a <- before a <- before
c <- tryAllIO (thing a) c <- tryAllIO (thing a)
after a after a
return () case c of
Right r -> return r
Left e -> throw e
bracket_ :: IO a -> IO b -> IO c -> IO () bracket_ :: IO a -> IO b -> IO c -> IO c
bracket_ before after thing = do bracket_ before after thing = do
before before
c <- tryAllIO thing c <- tryAllIO thing
after after
return () case c of
Right r -> return r
Left e -> throw e
\end{code} \end{code}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment