[squeak-dev] SqueakNim - an FFI glue code tool

David T. Lewis lewis at mail.msen.com
Tue Aug 18 16:11:00 UTC 2015

+1 to adding it to the Squeak news.

(and thank you for asking)


> Hi All,
> Quick question.  I would normally take a message like this and announce it
> on news.squeak.org and other places.  Since this release comes from 3D ICC
> I wanted to see first if anyone sees a conflict between my role as news
> team guy and my real job.  Would anyone object to my adding this
> announcement to news.squeak.org?
> Thanks!
> All the best,
> Ron Teitelbaum
> Head Of Engineering
> 3D Immersive Collaboration Consulting
> ron at 3Dicc.com
> Follow Me On Twitter: @RonTeitelbaum
> www.3Dicc.com
> https://www.google.com/+3Dicc
>> -----Original Message-----
>> From: squeak-dev-bounces at lists.squeakfoundation.org [mailto:squeak-dev-
>> bounces at lists.squeakfoundation.org] On Behalf Of Göran Krampe
>> Sent: Tuesday, August 18, 2015 4:36 AM
>> To: The general-purpose Squeak developers list; Pharo Development
>> Subject: [squeak-dev] SqueakNim - an FFI glue code tool
>> Hi fellow Smalltalkers!
>> At 3DICC we are using Nim (http://nim-lang.org) to write our performance
>> critical code that typically otherwise would have been written in C/C++.
>> But now we have Nim :)
>> Nim can generate dlls/so libraries following C conventions so they can
>> easily
>> be called via FFI.
>> Andreas Rumpf (author of Nim who works with us) wrote a small utility
>> called SqueakNim - its a set of Nim macros that generates the .st
>> primitive
>> calls based on the Nim code, so it takes out some grunt work and matches
>> up types as far as it can. Simple, but very nice.
>> The docs etc are a bit unpolished, but the trivial example in "tests"
>> has comments in it and it works in Squeak 5, Pharo 3, Pharo 4 and I
>> guess in
>> most versions of Squeak/Pharo.
>> Why would you be interested?
>> - Nim is great fun! C/C++ is torture. Same performance, nuff said.
>> - Nim has a tool called c2nim that wraps C *and* C++ libraries.
>> That last part is a killer. We use c2nim to wrap Urho3D - a huge C++
>> game
>> engine, works great, and that wrapper is also open source btw, Urhonimo.
>> How do I use it? See README at:
>> https://gitlab.3dicc.com/3dicc/squeaknim
>> For some more information my article (predating this tool) might have
>> some
>> details:
>> http://goran.krampe.se/2014/11/03/squeak-to-nim
>> ...and if you want to ask questions, hop onto freenode on either
>> #squeak,
>> #pharo or #nim. Me and Andreas are around.
>> regards, Göran

More information about the Squeak-dev mailing list