TWT

Hoppy is a foreign function interface generator for accessing C++ libraries from Haskell
Бля, вот 0xd34df00d обрадуется! Он же о таком мечтал:

c_QPushButton :: Class
c_QPushButton =
  addReqIncludes [includeStd "QPushButton"] $
  makeClass (ident "QPushButton") Nothing [c_QAbstractButton]
  [ -- Constructors.
    mkCtor "new" []
  , mkCtor "newWithParent" [ptrT $ objT c_QWidget]
  , mkCtor "newWithText" [objT c_QString]
  , mkCtor "newWithTextAndParent" [objT c_QString, ptrT $ objT c_QWidget]
    -- Methods.
  , mkMethod "showMenu" [] voidT
    -- Getter/setter pairs.
  , mkProp "autoDefault" boolT
  , mkBoolIsProp "default"
  , mkBoolIsProp "flat"
  , mkProp "menu" $ ptrT $ objT c_QMenu
  ]