[Haskell-cafe] the Haskell "with" "pattern"?
vigalchin at gmail.com
Wed Aug 6 04:29:00 EDT 2008
Hi Jeremy and the haskell community,
I think now my question is why isn't there a higher-order "with"
function in the Haskell Prelude?
On Wed, Aug 6, 2008 at 2:25 AM, Jeremy Shaw <jeremy at n-heptane.com> wrote:
> At Wed, 6 Aug 2008 00:43:55 -0500,
> Galchin, Vasili wrote:
> > [1 <multipart/alternative (7bit)>]
> > [1.1 <text/plain; ISO-8859-1 (7bit)>]
> > Hello,
> > 1) Is there a common assumed semantics across all of the Haskell
> > things? withString? withData?
> A vague semantic is that some resource is acquired, used, and then
> > 2) If the answer to 1) is yes, then does this imply some kind of
> > polymorphism? Couldn't "with" be "reduced" to a higher order function
> > ??
> I think Control.Exception.bracket is used to implement many, but not
> all, of the with* functions.
> > newThing :: IO a
> > newThing = ...
> > destroyThing :: a -> IO b
> > destroyThing ...
> > withThing :: (Thing -> IO a) -> IO a
> > withThing useThing = bracket newThing destroyThing useThing
> I have not fully answered either of your questions, but hopefully this
> is a start.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe