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