wakey wakey!
Manuel M. T. Chakravarty
chak at cse.unsw.edu.au
Fri Oct 27 01:06:28 EDT 2000
Simon Marlow <simonmar at microsoft.com> wrote,
> Ok folks, I decided it's time we woke this list up again.
>
> *kick*
:-)
> Right. I've got so many things on my ToDo list that come under the heading
> of "can't be done until the FFI library is finalized", it's getting silly.
Once this session is over - in a bit more than a month - the
FFI library is at the top of my priority list.
> STEP 1: Addr or (Ptr a) ?
>
> I'm convinced that Ptr a is the way to go. After brief conversations with
> Manuel at ICFP, I think he's agreed
Definitely!
> Using "Ptr a" eliminates the need for those annoying dummy arguments to
> malloc and friends, and provides some useful type safety. It might also in
> the future allow us to typecheck our FFI calls with respect to the foreign
> interface, but there are still issues to resolve before this can happen.
You are right that it is still open how far we can push `Ptr
a', but I think, the benefits that we already know are
convincing enough.
> I've enclosed my modified version of GHC's Storable module, and a new module
> Ptr containing the definitions of Ptr and FunPtr (ripped from Marcin's
> library mostly). Comments are most welcome.
Re Storable:
- So, it is decided to nuke AddrOff?
- mallocArray/mallocBytes Versus mallocElems: Isn't
mallocBytes redundant? mallocArray on Word8 should be the
same, shouldn't it?
Re Ptr:
- Why call it `ptrPlusBytes' when there is no other
`ptrPlus'? (I could imagine one, which adds multiples of
the size of the `a' in `Ptr a'.)
- Would `freeHaskellFunPtr' replace
`IOExts.freeHaskellFunctionPtr'?
Otherwise, this is all perfectly fine with me.
Cheers,
Manuel
More information about the FFI
mailing list