úÎM0      !"#$%&' !"#$%&'  !"#$%&' !"#$%&'        1When libraries provide types for functions those # types are made instances of class  . That 5 class is used to exchange between Haskell functions 4 and a representation (i.e., a hidden pointer) that - can be used or is provided by foreign code. )The associated type is the function type  as it is used in Haskell.  can be used like Foreign.Ptr.nullFunPtr.  takes a Haskell function and 1 gives a representation of it in the form of the  type expected by foreign code. ) should be called on all values returned  by & after they are no longer going to be 8 used. Most of the time this class method will just use  Foreign.Ptr.freeHaskellFunPtr.  just inserts an action between  calls to  and .  Of course, it can't be used when foreign code ' will save such action for latter use. 5Haskell FFI imports global variables as pointers. To : ease manipulation of such pointers they are encapsulated  by  so that values can be reached  directly, much like in an  Data.IORef. (      )      !"#$%&'()*+,-bindings-common-0.1.4 Bindings.CBindings.UtilitiesCTypes CConstants CFunctionsBindingsTimevalTm_CLOCKS_PER_SECstrftime localtimegmtimectimeasctimetimemktimedifftimeclockCallbackF nullCallback makeCallback freeCallback withCallbackGlobalVariablewriteGlobalVariablereadGlobalVariable c2hs_timeval hs2c_timevalsize_of_timevalc2hs_tmhs2c_tm size_of_tmtimeval'tv_sectimeval'tv_usectm'sectm'mintm'hourtm'mdaytm'montm'yeartm'wdaytm'ydaytm'isdst