Running D in the Java VM

Rory McGuire rjmcguire at gmail.com
Fri Nov 15 02:12:03 PST 2013


Surely the main requirements would be gui and networking? Which would be
completely possible.
 On 15 Nov 2013 12:05, "John Colvin" <john.loughran.colvin at gmail.com> wrote:

> On Friday, 15 November 2013 at 08:50:14 UTC, Paulo Pinto wrote:
>
>> On Friday, 15 November 2013 at 07:13:34 UTC, Jeremy DeHaan wrote:
>>
>>> Hey everyone!
>>>
>>> I have been experimenting for the past couple of days with an idea I
>>> had, and since I recently made a little progress I thought I would share
>>> some of what I have been doing with you. What I have done, in a nutshell,
>>> is began the process for a language converter that takes D source files,
>>> converts them into Java source files, and then compiles them as Java class
>>> files so that they can be ran on Java's VM. It is extremely limited in what
>>> it can do right now, only being able to convert/compile a simple Hello
>>> World program, but I was proud of myself for getting even that far so I
>>> wanted to brag. :P
>>>
>>> You may want to ask, "Hey, man. D is a great language. Why would I ever
>>> want to convert it to Java?" Normally, you wouldn't. Java blows. What I am
>>> envisioning for this project is something quite magical in my opinion. If
>>> we can take D code and have it compile into Java class files, we can then
>>> compile them into Android dex files. This would make D able to build and
>>> run on Android devices through its VM. Sure, people are working on getting
>>> D to compile to ARM binaries, but this could be another option as a Java
>>> alternative on Android.(eventually)
>>>
>>> Unfortunately I do not know much about compilers, but even in the last
>>> couple of days I feel like I have learned a great deal about what kinds of
>>> stuff goes into them. Eventually I'd like to make a full blown compiler
>>> that takes D code and can go right to dex files, but that would be
>>> something that would happen way down the road. In order to get D working on
>>> Android sooner, I figured a language converter would be the easier route.
>>>
>>> I can, and would love to go in to more detail about this, but it is
>>> getting late and this post is already quite long. Maybe I should start a
>>> blog about my D escapades? Anyways, I would love to hear feedback on this
>>> idea! Thanks for your time!
>>>
>>
>> It is an impossible task, because many of the D semantics cannot be
>> expressed in JVM/Dalvik bytecode.
>>
>> --
>> Paulo
>>
>
> Like what? Barring low-level device access, they are both turing complete
> languages and given the necessary transformations a complete program in one
> can always be statically* translated to the one in the other. However,
> efficient java code would be a different matter.
>
> *very important. There are many code-level concepts in D that are not
> expressible in the JVM, but a static translation doesn't need to honor
> those: it simply needs to make a program that has the same observable
> effects for any given input. This is definitely possible, although quite
> possibly monstrously involved when done in detail.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20131115/b88abe7c/attachment.html>


More information about the Digitalmars-d-announce mailing list