Re: [lazarus] FPC compiler for virtual machines?
On Wed, Feb 06, 2008 at 11:37:41PM +0100, Felipe Monteiro de Carvalho wrote: On Feb 6, 2008 10:45 PM, Marco van de Voort [EMAIL PROTECTED] wrote: There already is FPC on mobile devices. For the rest, the FAQ mostly applies: http://www.hu.freepascal.org/faq.var#dotnet I think this is a little bit too intransigent. Many mobiles run only Java, so there is no other path to support them. Nobody says there _should_ be a path then. My experience with Symbian makes me think I should have instead started a Java port. The Symbian is such a mess that a Java port would maybe be easier to do and achieve support for a hugely superior number of devices. There is even a Java assembler out there. I'm not 100% convinced that it can't be abstracted just like if it was just another platform. The question is not if you can't shoehorn FPC into something it wasn't designed for, but if the result is more than an academic exercise. IOW, is a FPC that has parts of the language removed, where datatypes change meaning, possible extensions that don't work on native etc still a FPC as we know today ? The Delphi.NET experiment of Borland shows this perfectly. Superficially everything is ok, but practically you see each after the other halt the shared codebases and do a proper new framework based on .NET classes and types. In Borlands case, the shared source between classic and .NET was mostly temporary, for transition purposes, but how do you see this for FPC? _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Wed, 6 Feb 2008, Marco Alvarado wrote: 2008/2/6, Wanderlan Santos dos Anjos [EMAIL PROTECTED]: Options for a Pascal compiler which targets Java: 1. http://www.mhccorp.com/pasjvm.shtml 2. http://en.wikipedia.org/wiki/MIDletPascal. Dead product? Download: http://www.softlookup.com/display.asp?id=157709 I know MIDletPascal, and it's a perfect example. It suffers the same problem that Delphi has now, it's not Open Source. You have to wait for it's development team to fix bugs, and the most important is that if the team takes a different path (or vanishes), you will have to jump to another compiler to keep on track, maybe a compiler for another language as it is the case with Pascal. I'd rather give my engine support for an unperfect compiler that anyone can continue developing (reminds me of Lazarus), than a compiler that can die unexpectedly. Well, what stops you from getting started ? Many people have asked the questions you asked, none have actually contributed. The FPC team has no direct interest in this, but that doesn't mean we will not offer help in the form of explanations to whoever wants to try anyway... Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
I've been investigating, and came to the conclussion that the best compiler I can do IS NOT a compiler, BUT an specialiced translator. I could use customizable templates to transform Pascal code into each VM's natural language, then take advantage of the command-line compilers for those VMs. There are open-source compilers that will fit perfectly on this project. At least MTASC, is a much faster and optimal compiler than the actual Macromedia/Adobe Flash compiler. Crappy and cheaty, maybe, but will output the best optimal code possible, and also will save myself from the HUGE task of creating real compilers, since I must keep focused on my game engine. If we remove pointers, goto's (...what else?), there is almost a one-on-one correspondence between Object Pascal and ECMA's scripts (javascript and actionscript), Java and .NET. But will require some cheating with the class frameworks (thinking on FPC's RTL and the LCL), like converting TBitmap into MovieClip, as an example. As said it's a language mutilation, but it's something a programmer can live with if he/she wants to target those virtual platforms, Delphi .NET shows that as you mentioned. -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
The guys at mhccorp, did the same: http://www.mhccorp.com/java.shtml But, its a closed source project. In their pages, they said, they made an Object Pascal To Java translator, and later a Object Pascal to JVM assembler translator. Yes the idea is having it Open Source, and for at least three VM's: J2ME, Actionscript2, .NET Whoever needs another platform can add the templates, and an implementation of the Virtual Machine Library. I'll take it to the point when I can display bitmaps and play sounds. Then I'll drop the project, so I can work porting my engine on top of it using the {$IFDEF} machete! :D Regards! -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
But, how knows ? Maybe the games you want to migrate to JVM-based phones, can be fun and even profit !!! ;-) Many games can be migrated to VM's that don't need a lot of processing power, think about the best selling Tetris ;D Also, what happens if a compiler maker or chipset builder finds out that developers are using Pascal on mobile devices... they might get interested since there is a visible market. They could make a real compiler or even better a chip with a Pascal Virtual Machine!! If there is a market, there is always a chance for these things to happen, if no one migrates applications the possibility is just zero. -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
I'm building right now a translator of Object Pascal to ECMAscript. I just need a common run-time library, which I'm building on top of FPC's RTL and the LCL. If someone wants to have a portable application, they just have to use the classes of the Virtual Machine Library (VML, not to confuse with VCL). Later, the translator will just change the syntax from Object Pascal to the VM's natural language using a template, then compile the application with an open-source or SDK's compiler, and integrate everything with a version of the VML for the target platform. From the programmer's point of view, it work exactly as an optimal Pascal command line compiler. That's my strategy. -Marco 2008/2/7, mramirez [EMAIL PROTECTED]: Quoting Felipe Monteiro de Carvalho [EMAIL PROTECTED]: My experience with Symbian makes me think I should have instead started a Java port. The Symbian is such a mess that a Java port would I read somewhere that Symbian was rebuilding its OS from scratch, because of the mess. There is even a Java assembler out there. I'm not 100% convinced that it can't be abstracted just like if it was just another platform. There is a JVM assembler: http://en.wikipedia.org/wiki/Jasmin_%28Java_assembler%29 But, the main problem with the Java ENVIROMENT/FRAMEWORK (Virtual Machine + Standard Library + Programming Language + else), is that is 100% CLASS/OBJECT oriented. Even the JVM assembler works with objects and classes, you can't work with global functions, records, or variables like many of the LCL functions does. As mentioned in other replies, you'll have to mutilate the object pascal version of the language to make it run in a JVM. Trying to migrate the Free Pascal Compiler (FPC) used by the Lazarus could be possible, but with weird, unexpected, poor performance results... Borland/CodeGear make an experimental Pascal for JVM compiler, and both this version and its .NET compiler had pitfalls. Anyway, virtual machines are slow, don't matter how much optimization they have, and require more resources. And mobile devices don't have as many resources that a P.C. does. I suggest you should go for the native development, whether is FPC+Lazarus or other development set of tools. Just my 2 cents... mramirez _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Feb 7, 2008 9:32 PM, Marco Alvarado [EMAIL PROTECTED] wrote: I'm doing it now!! Once I get a hello-world translated, I'll start releasing the source code. Please create a source forge project for it and add the code to subversion. That guarantees the project can be continued on the future. thanks a lot, -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
2008/2/7, Felipe Monteiro de Carvalho [EMAIL PROTECTED]: Unfortunately I don't have time to build that, but I would try to help if someone starts such a project. I'm doing it now!! Once I get a hello-world translated, I'll start releasing the source code. Regards! -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] FPC compiler for virtual machines?
Can I suggest you also look at the Alma project on freshmeat.net Sam -Original Message- From: Marco Alvarado [EMAIL PROTECTED] Sent: 07 February 2008 17:37 To: lazarus@miraclec.com Subject: Re: [lazarus] FPC compiler for virtual machines? I'm building right now a translator of Object Pascal to ECMAscript. I just need a common run-time library, which I'm building on top of FPC's RTL and the LCL. If someone wants to have a portable application, they just have to use the classes of the Virtual Machine Library (VML, not to confuse with VCL). Later, the translator will just change the syntax from Object Pascal to the VM's natural language using a template, then compile the application with an open-source or SDK's compiler, and integrate everything with a version of the VML for the target platform. From the programmer's point of view, it work exactly as an optimal Pascal command line compiler. That's my strategy. -Marco 2008/2/7, mramirez [EMAIL PROTECTED]: Quoting Felipe Monteiro de Carvalho [EMAIL PROTECTED]: My experience with Symbian makes me think I should have instead started a Java port. The Symbian is such a mess that a Java port would I read somewhere that Symbian was rebuilding its OS from scratch, because of the mess. There is even a Java assembler out there. I'm not 100% convinced that it can't be abstracted just like if it was just another platform. There is a JVM assembler: http://en.wikipedia.org/wiki/Jasmin_%28Java_assembler%29 But, the main problem with the Java ENVIROMENT/FRAMEWORK (Virtual Machine + Standard Library + Programming Language + else), is that is 100% CLASS/OBJECT oriented. Even the JVM assembler works with objects and classes, you can't work with global functions, records, or variables like many of the LCL functions does. As mentioned in other replies, you'll have to mutilate the object pascal version of the language to make it run in a JVM. Trying to migrate the Free Pascal Compiler (FPC) used by the Lazarus could be possible, but with weird, unexpected, poor performance results... Borland/CodeGear make an experimental Pascal for JVM compiler, and both this version and its .NET compiler had pitfalls. Anyway, virtual machines are slow, don't matter how much optimization they have, and require more resources. And mobile devices don't have as many resources that a P.C. does. I suggest you should go for the native development, whether is FPC+Lazarus or other development set of tools. Just my 2 cents... mramirez _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Feb 7, 2008 2:11 AM, Marco Alvarado [EMAIL PROTECTED] wrote: I know MIDletPascal, and it's a perfect example. It suffers the same problem that Delphi has now, it's not Open Source. I think an open source project that works about the same as MIDLetPascal would be really excelent. It doesn't need to be a clone, but something with which I could write Pascal programas for J2ME, even if the language needs to be modified. Unfortunately I don't have time to build that, but I would try to help if someone starts such a project. -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
2008/2/7, Sam Liddicott [EMAIL PROTECTED]: Can I suggest you also look at the Alma project on freshmeat.net Sam Yes, but it's not only about language translation, indeed this is the easiest part. The real problem is creating a virtual machine library that is common between the different platforms. -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
Quoting Marco Alvarado [EMAIL PROTECTED]: I've been investigating, and came to the conclussion that the best compiler I can do IS NOT a compiler, BUT an specialiced translator. I The guys at mhccorp, did the same: http://www.mhccorp.com/java.shtml But, its a closed source project. In their pages, they said, they made an Object Pascal To Java translator, and later a Object Pascal to JVM assembler translator. One thing is the compiler, and another the development environment. If you want to extend the Free Pascal Compiler to work as a translator for Free (Object) Pascal to Java (Programming Language), you are welcome. If you achieve this, and later want to extend the Lazarus development environment for your FPC extension, you are also welcome. Visual Studio has a .NET mobile emulator where you can make a mobile application, and run it in the emulator. We don't want to discourage you of your idea, but seems complicated, and some of us think, there are other ways of doing the same. But, how knows ? Maybe the games you want to migrate to JVM-based phones, can be fun and even profit !!! ;-) Good Luck mramirez _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
Quoting Felipe Monteiro de Carvalho [EMAIL PROTECTED]: My experience with Symbian makes me think I should have instead started a Java port. The Symbian is such a mess that a Java port would I read somewhere that Symbian was rebuilding its OS from scratch, because of the mess. There is even a Java assembler out there. I'm not 100% convinced that it can't be abstracted just like if it was just another platform. There is a JVM assembler: http://en.wikipedia.org/wiki/Jasmin_%28Java_assembler%29 But, the main problem with the Java ENVIROMENT/FRAMEWORK (Virtual Machine + Standard Library + Programming Language + else), is that is 100% CLASS/OBJECT oriented. Even the JVM assembler works with objects and classes, you can't work with global functions, records, or variables like many of the LCL functions does. As mentioned in other replies, you'll have to mutilate the object pascal version of the language to make it run in a JVM. Trying to migrate the Free Pascal Compiler (FPC) used by the Lazarus could be possible, but with weird, unexpected, poor performance results... Borland/CodeGear make an experimental Pascal for JVM compiler, and both this version and its .NET compiler had pitfalls. Anyway, virtual machines are slow, don't matter how much optimization they have, and require more resources. And mobile devices don't have as many resources that a P.C. does. I suggest you should go for the native development, whether is FPC+Lazarus or other development set of tools. Just my 2 cents... mramirez _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
Quoting Marco Alvarado [EMAIL PROTECTED]: I'm building right now a translator of Object Pascal to ECMAscript. Good Luck ;-) mramirez _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Wed, Feb 06, 2008 at 03:26:48PM -0600, Marco Alvarado wrote: Is there a Pascal compiler for these virtual machines? Java Flash 8 (actionscript 2) Flash 9 (actionscript 3) Is the answer is no, can I build one? :-D I think it's a cool project I'd love to work on, just to have Pascal applications on mobile devices. There already is FPC on mobile devices. For the rest, the FAQ mostly applies: http://www.hu.freepascal.org/faq.var#dotnet _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
But that would be .NET... what about Java and Flash? -Marco 2008/2/6, Marco van de Voort [EMAIL PROTECTED]: On Wed, Feb 06, 2008 at 03:26:48PM -0600, Marco Alvarado wrote: Is there a Pascal compiler for these virtual machines? Java Flash 8 (actionscript 2) Flash 9 (actionscript 3) Is the answer is no, can I build one? :-D I think it's a cool project I'd love to work on, just to have Pascal applications on mobile devices. There already is FPC on mobile devices. For the rest, the FAQ mostly applies: http://www.hu.freepascal.org/faq.var#dotnet _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Wed, Feb 06, 2008 at 03:49:23PM -0600, Marco Alvarado wrote: But that would be .NET... what about Java and Flash? Read the last paragraph. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
These problems are pretty much similar for the Java (bytecode) too. One has to mutilate the language, and rewrite the libraries from scratch on the base libraries of the target (Java/.NET). Such an attempt would have little synergy with the FPC project as it is today. Hmmm, it's just a pessimistic paragraph, what about it? :D 2008/2/6, Marco van de Voort [EMAIL PROTECTED]: On Wed, Feb 06, 2008 at 03:49:23PM -0600, Marco Alvarado wrote: But that would be .NET... what about Java and Flash? Read the last paragraph. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Wed, Feb 06, 2008 at 04:08:51PM -0600, Marco Alvarado wrote: These problems are pretty much similar for the Java (bytecode) too. One has to mutilate the language, and rewrite the libraries from scratch on the base libraries of the target (Java/.NET). Such an attempt would have little synergy with the FPC project as it is today. Hmmm, it's just a pessimistic paragraph, what about it? :D What exactly do you think to gain? Do you want a crude pascal subset on some VM platform, probably with heaps of C# or Java extensions (or Flash script) to be able to access all parts of the libraries or do you want a full FPC ? If it is the former, better start without all the compability burdens, if you want the latter, how on earth do you think this will work? _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
On Feb 6, 2008 10:45 PM, Marco van de Voort [EMAIL PROTECTED] wrote: There already is FPC on mobile devices. For the rest, the FAQ mostly applies: http://www.hu.freepascal.org/faq.var#dotnet I think this is a little bit too intransigent. Many mobiles run only Java, so there is no other path to support them. My experience with Symbian makes me think I should have instead started a Java port. The Symbian is such a mess that a Java port would maybe be easier to do and achieve support for a hugely superior number of devices. There is even a Java assembler out there. I'm not 100% convinced that it can't be abstracted just like if it was just another platform. thanks, -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
If it doesn't exist already, I would like to make an un-perfect, simplistic, full of missing features, Pascal compiler that allows me to write Pascal programs for those virtual machines that have penetrated interesting platforms like web embedded applications, mobile devices, PSP, Wii, etc. I have made two little games in J2ME that run on my cellphone, but I'm not happy if I can't program in my loved language Pascal. The compiler will be crappy, but it will have one difference, will be open source, so anyone can continue my work once I drop it, when I get to the point where I'm able to create simple games with it (game engine not included). What do you think? -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] FPC compiler for virtual machines?
You should write an Object Pascal compiler which targets JRE and/or MIDP/CLDC runtimes which output is Java byte code. Something like Crome and .Net To me, it is interesting project from intellectual point of view but not practical - Better code in Java. FWIW, I'm Delphi developer and Java Architect/Developer also. Regards. -Mensaje original- De: Marco Alvarado [mailto:[EMAIL PROTECTED] Enviado el: MiƩrcoles, 06 de Febrero de 2008 06:05 p.m. Para: lazarus@miraclec.com Asunto: Re: [lazarus] FPC compiler for virtual machines? If it doesn't exist already, I would like to make an un-perfect, simplistic, full of missing features, Pascal compiler that allows me to write Pascal programs for those virtual machines that have penetrated interesting platforms like web embedded applications, mobile devices, PSP, Wii, etc. I have made two little games in J2ME that run on my cellphone, but I'm not happy if I can't program in my loved language Pascal. The compiler will be crappy, but it will have one difference, will be open source, so anyone can continue my work once I drop it, when I get to the point where I'm able to create simple games with it (game engine not included). What do you think? -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] FPC compiler for virtual machines?
Options for a Pascal compiler which targets Java: 1. http://www.mhccorp.com/pasjvm.shtml 2. http://en.wikipedia.org/wiki/MIDletPascal. Dead product? Download: http://www.softlookup.com/display.asp?id=157709 Wanderlan Santos dos Anjos
Re: [lazarus] FPC compiler for virtual machines?
2008/2/6, Wanderlan Santos dos Anjos [EMAIL PROTECTED]: Options for a Pascal compiler which targets Java: 1. http://www.mhccorp.com/pasjvm.shtml 2. http://en.wikipedia.org/wiki/MIDletPascal. Dead product? Download: http://www.softlookup.com/display.asp?id=157709 I know MIDletPascal, and it's a perfect example. It suffers the same problem that Delphi has now, it's not Open Source. You have to wait for it's development team to fix bugs, and the most important is that if the team takes a different path (or vanishes), you will have to jump to another compiler to keep on track, maybe a compiler for another language as it is the case with Pascal. I'd rather give my engine support for an unperfect compiler that anyone can continue developing (reminds me of Lazarus), than a compiler that can die unexpectedly. Thanks for the links, anyway. :D -Marco _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives