[squeak-dev] FFI | How to declare pointer to external structure in #fields?

John Pfersich smalltalker2 at mac.com
Fri Jun 26 01:37:59 UTC 2020


Wow, this is incroyable.

/—————————————————————/
For encrypted mail use jgpfersich at protonmail.com - Free account at ProtonMail.com
Web: https://objectnets.net and https://objectnets.org
https://datascilv.com https://datascilv.org


> On May 18, 2020, at 12:56, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
> 
> 
> Hi all,
> I started to write a documentation of FFI implementation two or three months ago, I don't remember exactly, it's an eternity. The lock down did not give me an opportunity to continue. I want to publish with some liberal CC license, but I don't have chosen a support format yet. On one side, I wanted to focus on contents more than on the format. But on the other side, I want some graphical illustrations accurate enough. I wrote in Word because it was easy for me to include tables and graphics, but it's kinda stupid, especially because Word make you focus on format more than contents ! LaTeX is not general enough, it would rather be a backend nowadays. I contemplated using pandoc which has good support, or the much more limited Pilar, which at least is Smalltalk based...
> The structure is not well established and the work is very preliminary, but since there is some demand, I give a pdf copy here as is, I hope it's not too big for the list. This probably should better be continued as a collaborative work anyway.
> 
>> Le lun. 18 mai 2020 à 21:33, Levente Uzonyi <leves at caesar.elte.hu> a écrit :
>> How does UFFI come here? AFAIK it's nothing but a different image-side 
>> code using the VM's FFI implementation along with the signature notion 
>> Igor used in NativeBoost (which is great btw because it's "as you would 
>> write it in C" and doesn't require language changes).
>> 
>> 
>> Levente
>> 
>> On Mon, 18 May 2020, Jakob Reschke wrote:
>> 
>> > Do we even have UFFI in Squeak? This was the thing I meant is missing to reuse Pharo's libgit2 bindings, in the vm-dev thread. 
>> > 
>> > Marcel Taeumel <marcel.taeumel at hpi.de> schrieb am Mo., 18. Mai 2020, 20:07:
>> >       Hi Vanessa,
>> > > I don't have the code in front of me but there is the parser you could check ;)
>> > 
>> > I tried. I suspect that the generator cannot do it but I have to wrap it manually. But I am not sure. Reverse engineering UnifiedFFI did not help yet either. Have to put more time into it. :-)
>> > 
>> > Best,
>> > Marcel
>> >
>> >       Am 18.05.2020 20:00:16 schrieb Vanessa Freudenberg <vanessa at codefrau.net>:
>> >
>> >       On Mon, May 18, 2020 at 7:05 AM Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
>> >       Hi, there!
>> > 
>> > In the #fields method of a new ExternalStructure, how can I express a pointer to another external structure?
>> > 
>> > First, non-pointer works as expected:
>> > ^ #( (other MyStruct) )
>> > 
>> > Second, this just treats it as a void*, which returns a generic ExternalData:
>> > ^ #( (other 'MyStruct*') )
>> > 
>> > Third, this gives me a debugger:
>> > ^ #( (other MyStruct *) )
>> > 
>> > 
>> > I don't have the code in front of me but there is the parser you could check ;)
>> > 
>> > It might be *MyStruct.
>> > 
>> >  - Vanessa - 
>> > 
>> > 
>> > 
>> >
> 
> <The Squeak Foreign Function Interface and its implementation demystified.pdf>
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200625/83465d99/attachment.html>


More information about the Squeak-dev mailing list