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


Reply via email to