ANN: H98 FFI Addendum 1.0, Release Candidate 10
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Sun Jun 8 06:51:55 EDT 2003
Malcolm Wallace <Malcolm.Wallace at cs.york.ac.uk> wrote,
> > > > data Point
> > > > foreign import getMousePos :: Ptr Point -> IO ()
> > > > foreign import getX :: Ptr Point -> IO Int
> > > > foreign import getY :: Ptr Point -> IO Int
>
> vs
>
> > data Point = Point (Ptr Point)
> > foreign import getMousePos :: Point -> IO ()
>
> I like the second idiom. You are right that there is no need for
> the application programmer to know whether pointers are involved,
> because even in the first style, it is not possible to 'peek' inside
> a Ptr Point to get the `actual' Point value. So why not hide the
> pointer altogether? Yes.
More information about the FFI
mailing list