<div dir="ltr"><div><div><div><div><div>So I started to improve the Squeak FFI:<br></div>-1) I corrected pointer arithmetic on 64 bits <a href="http://source.squeak.org/FFI/FFI-Kernel-nice.48.diff">http://source.squeak.org/FFI/FFI-Kernel-nice.48.diff</a><br></div>-2) I prepared the possibility of having automated layout spec updates <a href="http://source.squeak.org/FFI/FFI-Kernel-nice.49.diff">http://source.squeak.org/FFI/FFI-Kernel-nice.49.diff</a><br><br></div>Note that the FFI plugin by itself did not change.<br></div>The next steps should be to provide support for native platform alignment of fields and unions.<br></div>I'll focus on these when i can.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2018-04-12 23:27 GMT+02:00 Denis Kudriashov <span dir="ltr"><<a href="mailto:dionisiydk@gmail.com" target="_blank">dionisiydk@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi<div><br></div><div>There is project <a href="https://github.com/estebanlm/TalkFFI" target="_blank">TalkFFI</a> from Ciprian Teodorov.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2018-04-12 22:50 GMT+02:00 Bert Freudenberg <span dir="ltr"><<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">On 12 April 2018 at 22:34, Nicolas Cellier </span><span dir="ltr" style="font-family:arial,sans-serif;color:rgb(34,34,34)"><<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmai<wbr>l.com</a>></span><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"> wrote:</span><br></div></span><div class="gmail_extra"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="m_-1260474800631308584m_2694655752977270737gmail-"><div><br></div></span><div>There are at least two problems:<br></div><div>- documentation (lack of)<br></div><div>- limitations (unions, pointer on pointer on ...)<br></div><div>- automation (I said at least two, not at most)<br></div><div><br></div><div>For the first problem, I opened the SO issues. Not ideal, but it's a start.<br></div><div>For the second, I'll see if I can do something...<br></div><div>For the third, I did import some .h header with VW DLLCC, and I'm in the process of translating to other dialects.<br>It's easier because Smalltalk syntax is order of magnitudes smaller than C syntax.</div></div></div></div></blockquote><div><br></div></span><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">​I always thought it should be fairly straightforward to make a FFI bindings generator using SWIG (<span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><a href="http://www.swig.org/" target="_blank">http://www.swig.org/</a>).</span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">SWIG parses C headers and outputs XML. Starting from that XML should be way easier than trying to parse C ourselves.</span></div></div><span class="m_-1260474800631308584HOEnZb"><font color="#888888"><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">​- Bert -​</div><div><br></div><div> </div></font></span></div><br></div></div>
<br><br>
<br></blockquote></div><br></div>
</div></div><br><br>
<br></blockquote></div><br></div>