
I'm trying to learn qtHaskell, an interface to the Qt GUI library. I am fairly new to Haskell, but have used Qt for a long time, so I thought I could probably reasonably attempt to grok qtHaskell at this point. My main question is: anyone recommended a good explanation of the foreign function or foreign pointer interface? My immediate question is that I was poking through the Qtc docs, and saw this: Documentation data Object a Constructors QObject !(ForeignPtr a) I am not sure how Haddock works. Is this telling me that an Object constructor takes one argument, which is of type QObject, where QObject is a type constructor that takes !(ForeignPtr a)? Or is this saying it takes two arguments, a QObject and a !(ForeignPtr a). That latter makes more sense I guess. What does the ! mean? Thanks, Mike