[Haskell-cafe] X Haskell Bindings
Brandon S. Allbery KF8NH
allbery at ece.cmu.edu
Sun Aug 17 21:18:45 EDT 2008
On 2008 Aug 17, at 20:34, Spencer Janssen wrote:
> On Sat, Aug 16, 2008 at 04:07:25PM -0500, Antoine Latter wrote:
>> Since the request to create a window has so many parameters, these
>> parameters are all wrapped up into a "CreateWindow" data type, which
>> is only ever used by the "createWindow" function. The "mapWindow"
>> request only has one parameter, so it does not need it's own
>> "MapWindow" data type.
>
> I think this is a nice idea. This type signature from the X11
> library is
> absolutely unmanageable:
It's never been manageable, even from C (hence XCreateSimpleWindow()
in Xlib which defaults most of that).
> do h <- getHandler c -- save the old handler so we can restore it
> later
> setHandler c myHandlingFn
> performSomeActionsWhichMayFail
> setHandler c h
>
> Not only is this code ugly, it does not work correctly when the
> connection may
> be concurrently used by several threads.
or when the async response comes after the handler's been reset (i.e.
you need to call XSynchronize() and handle any errors before resetting
the handler).
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university KF8NH
More information about the Haskell-Cafe
mailing list