An area that generally interests me is making languages cooperate. When I started with the idea of Pharo using Python libraries, I thought it would take me months to have something usable. Instead it took me weeks mainly because I found that a very simple solution could provide me with a working prototype. So my project Ephestos was born and allowed me to use Pharo to script Blender via Python using sockets , strings, Python execution and some Pharo tricks. It literally blown my mind how easy and simple it was. Of course its far from ideal solution. I have managed to keep most of the Pharo syntax for converting to Python syntax but data is a whole another beast.
No complains SmaCC did help a lot there to parse Python dictionaries and lists to Pharo ordered collections. However when another user emailed that he had problems using Ephestos to use the popular Python library Numpy from Pharo, it shown me that there is no such thing as universal solution. After my decision to turn my attention to game development and Unreal game engine, I started learning a lot of C++ and I am wondering what it would take to transpile Pharo code to C++. The difference here is that C++ is no Python , it has a monstrous syntax and is a compiled language. However Pharo already does this with Slang that inherited from Squeak. Slang takes Smalltalk syntax and transpiles it to C. It's mainly used for coding the Pharo VM. C of course is nowhere near as large syntax wise as C++ but at least Slang generates readable code which is my goal. So Pharo is not the isolated island that Smalltalk once was and there is no turning back. There is amber that transpiles Smalltalk to JavaScript, PharoJS that transpiles Pharo to JavaScript and JNIPort that allows Pharo to use Java libraries. So yes it's not that hard if you really want to build a transpiler for Pharo to Dart code and vice versa. On the Subject of OS , Pharo is already a virtual OS. The advantage of virtual OS over regular OS , is that a virtual OS is much simpler in design so easier to hack and play with and also has access to the entire OS it runs on. So in my case what interests me is transpiling Pharo to C++, because that's the language Unreal uses. It will be a challenge but is doable. It would be a big plus for Pharo if it had a powerful transpiler tool that would allow you to convert Pharo code to any language producing readable code. This would allow Pharo access to any project out there. However remember what I said, there are no universal solutions or magic pills. Compromises and sacrifices would have to be made but it's possible. Don't expect others to do it for you, brainstorming and talking about it is far from doing. As Stef wisely says "Pharo is yours" On Thu, 18 Aug 2016 at 07:25, askoh <as...@askoh.com> wrote: > It became news a few days ago. It is called Fuchsia and is meant to run on > all devices from IoT on up. The interesting thing is that Dart will be the > main language. The developers promise to make Fuchsia run on Raspberry Pi 3 > shortly. > > Since Dart is pretty close to Smalltalk, how can Smalltalk be the GUI for > Fuchsia? How can it take advantage of Dart VM? Is this an opportunity for > Smalltalk to make an impact? Let's brainstorm. > > All the best, > Aik-Siong Koh > > > > -- > View this message in context: > http://forum.world.st/Google-building-new-OS-with-Dart-tp4911649.html > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. > >