Hello.
H/Direct-0.14 doesn't generate a correct haskell module from the following
IDL-File:
module Probe
{
interface Typ {};
Typ erz_typ([in] int a);
int abfr_typ([in] Typ t);
void zer_typ([in] Typ t);
};
The generated file Probe.hs contains the following:
erz_typ :: Int.Int32 -> Prelude.IO (Typ ())
erz_typ a = ...
Prelude.return (o_erz_typ)
abfr_typ :: Typ a0 -> Prelude.IO (Int.Int32)
abfr_typ t = ...
zer_typ :: Typ a0 -> Prelude.IO ()
zer_typ t = ...
It should look like this:
erz_typ :: Int.Int32 -> Prelude.IO Typ
erz_typ a = ...
Prelude.return (Typ o_erz_typ)
abfr_typ :: Typ -> Prelude.IO (Int.Int32)
abfr_typ (Typ t) = ...
zer_typ :: Typ -> Prelude.IO ()
zer_typ (Typ t) = ...
The generated file won't compile. After doing the changes, it works.
'examples/gd', which also uses interfaces, doesn't compile either.
bye