On Oct 28, 2005, at 22:22, Nick Glencross wrote:

Guys,

As mentioned on the list yesterday I started evaluating ffcall as a way of providing NCI functionality.

 http://www.haible.de/bruno/packages-ffcall.html

I've downloaded it and had a short look into sources. The list of supported platforms is quite impressive. OTOH it looks a bit under documented to me.

I've now got a working POC for function calls, and although callbacks don't work yet, they're not far off. All but 11 of the 59 NCI tests pass, and those that don't work exercise callbacks or reading back values from types for which I haven't done yet.

That's a lot for this early stage. Good work.

Pros:

Makes ffcall very worthy to include.

Cons:

 * Reliance on a library, although NCI may be an optional feature

A library per se isn't a problem. You mentioned licence issues yesterday due to GPL. Keeping a fallback to NCI (with possibly reduced functionality would be ok too probably).

* Performance? There are a few additional loops and switches, but I can't see this being a real issue

Can be measured.

 * Possibly incompatible 3rd party licensing

Ah, yep - IANALL.

As far as PIR/PASM code, the interface is unchanged, although I would like to suggest that at some point the newclass signature include the return type in common with other opcodes, as hopefully we can support this.

You are talking about new_callback ?

Cheers,

Nick

p.s. As you can see, I've been won over by ffcall, but I've only been using it for a day so there may well be show stoppers to using it.

Great work for one day.

leo

Reply via email to