The haskades package

Autogeneration of bindings for creating BlackBerry Cascades apps
with Haskell back ends.

Run as:

./haskades HaskadesBinding.hs haskades_run.cpp < Types.hs

Where Types.hs is a Haskell file containing a record type declaration
named Slots and a sum type declaration named Signals which fully
specifies the communication possible between the UI layer (which you
write in QML) and the Haskell backend. QML code can access these
signals and slots on the app context object. Haskell code can emit
signals by using the emit function exported from the generated
HaskadesBinding. The emit call is threadsafe.

Text, Lazy Text, and String all end up as QString so that QML can
work with them properly, and vice-versa. UTCTime becomes QDateTime.
Int, Double, and () are passed through fairly directly. Other types
may have support added as there is need.

Maintainer's Corner

Readme for haskades-0.1

Autogeneration of bindings for creating BlackBerry Cascades apps
with Haskell back ends.
Run as:
> ./haskades HaskadesBinding.hs haskades_run.cpp < Types.hs
Where Types.hs is a Haskell file containing a record type declaration
named 'Slots' and a sum type declaration named 'Signals' which fully
specifies the communication possible between the UI layer (which you
write in QML) and the Haskell backend. QML code can access these
signals and slots on the 'app' context object. Haskell code can emit
signals by using the 'emit' function exported from the generated
HaskadesBinding. The 'emit' call is threadsafe.
Text, Lazy Text, and String all end up as QString so that QML can
work with them properly, and vice-versa. UTCTime becomes QDateTime.
Int, Double, and () are passed through fairly directly. Other types
may have support added as there is need.