On Sat, 9 Feb 2013, Vittorio Giovara wrote:

Hi all,
I'm one of the developer of Hedgewars, an open source video game all written 
with FreePascal. Please see the full site at
http://www.hedgewars.org/

One of the Hedgewars project is to make a WebGL/Javascript version of the game 
so that it can run in a browser. To do that we are
using a tool named 'emscripten' which takes LLVM bytecode and generates 
Javascript, without affecting performance too much. Yes, we
had to write a horribly hacked converter that took the small subset of Pascal 
used by Hedgewars and convert it to C (on a side node,
the converter is written in Haskell) and reimplement the RTL.

So, this got the job done (if you are using an old browser the demo might still 
work http://hedgewars.org/hwjs/hwjs.html ) but all
this process is *highly* unmaintainable and very prone to breakage. So the 
right way (tm) to achieve this result would be to directly
integrate LLVM bytecode generation inside Freepascal.

I think we could make this work thanks to the Google Summer of Code! This 
program (*if* they announce it) basically introduces
students to the world of FOSS development by having them work on projects for 
an open source organization during the summer.

I don't know if Freepascal wants to participate on its own, but if not, if 
there is one or more developer willing to act as mentor
for the students, Hedgewars (*if* selected) would happily allocate some of its students 
to work on this task and act as a "umbrella"
for this project targeting Freepascal sources. Of course the students would 
still have to write a sensible project proposal for being
accepted.

What do you think of this idea?

Jonas already did some work on a LLVM code generator. You can find it in SVN:
http://svn.freepascal.org/svn/fpc/branches/llvm/

So I'm sure we'll be happy to cooperate on this.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to