Safe Haskell | None |
---|
Graphics.QML.Marshal
Description
Type classs and instances for marshalling values between Haskell and QML.
- class Marshal t where
- type MarshalMode t
- marshaller :: Marshaller t (MarshalMode t)
- class MarshalBase m => MarshalToHs m
- class MarshalBase m => MarshalToValRaw m
- class MarshalToValRaw m => MarshalToVal m
- class MarshalBase m => MarshalFromObj m
- class MarshalBase m => MarshalToObj m
- data ValBidi
- data ValFnRetVoid
- data ValObjBidi a
- data ValObjToOnly a
- type ThisObj tt = ModeObj (MarshalMode tt)
- data family Marshaller t m
Documentation
class Marshal t where
The class Marshal
allows Haskell values to be marshalled to and from the
QML environment.
Associated Types
type MarshalMode t
The MarshalMode
associated type parameter specifies the type of
marshalling functionality offered by the instance.
class MarshalBase m => MarshalToHs m
Class for MarshalMode
s which support marshalling QML-to-Haskell.
Instances
class MarshalBase m => MarshalToValRaw m
Class for MarshalMode
s which support marshalling Haskell-to-QML.
class MarshalToValRaw m => MarshalToVal m
Class for MarshalMode
s which support marshalling Haskell-to-QML,
excluding the return of void from methods.
Instances
class MarshalBase m => MarshalFromObj m
Class for MarshalMode
s which support marshalling QML-to-Haskell
in contexts specific to objects.
Instances
class MarshalBase m => MarshalToObj m
Class for MarshalMode
s which support marshalling Haskell-to-QML
in contexts specific to objects.
Instances
data ValBidi
MarshalMode
for built-in data types.
data ValObjBidi a
MarshalMode
for object types.
Instances
MarshalToVal (ValObjBidi a) | |
MarshalToValRaw (ValObjBidi a) | |
MarshalToHs (ValObjBidi a) | |
MarshalToObj (ValObjBidi a) | |
MarshalFromObj (ValObjBidi a) |
data ValObjToOnly a
MarshalMode
for object types, operating only in the QML-to-Haskell
direction.
Instances
type ThisObj tt = ModeObj (MarshalMode tt)
Type function yielding the object type speficied by a given marshallable
type tt
.
data family Marshaller t m
Encapsulates the functionality to needed to implement an instance of
Marshal
so that such instances can be defined without access to
implementation details.