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.
>
>

Reply via email to