On Saturday, 21 December 2013 at 21:58:16 UTC, Mineko wrote:
On Saturday, 21 December 2013 at 10:00:10 UTC, Kelet wrote:
On Saturday, 21 December 2013 at 08:55:04 UTC, Mineko wrote:
This is a fairly basic question but I can't find any good answers, so I'm asking..

Anyways, I want to be able to invoke the D compiler, whichever that might be from inside of a D program, so I can say, compile a D script on-the-fly in some game, it's just an idea though.

To be even more to the point, how can I invoke the D compiler inside of a D program, also, do I need to bundle said D compiler with my program or does D have some compilation feature inside of an already compiled program (Which I doubt)?

Hi, I was also interested in this topic. My research suggests
that there is no easy or safe way to do this at the moment, as
thedeemon suggests. Although I think it's worth offering a
possible alternative: using a scripting language binding like
LuaD[1], DerelictLua[2], or pyd[3]. From here, you can expose
some functions/variables between them, and solve a lot of the
same problems.

That being said, I think it would be useful to have something
like JavaCompiler[4]. It's not an optimal solution, but combined
with a minimal compiler package it could help a lot.

As far as I know, you need to ask permission to distribute DMD
with your application, so it may be safer to include GDC or LDC
if you want to go this route. Or ask Walter, of course.

[1]: https://github.com/JakobOvrum/LuaD
[2]: https://github.com/DerelictOrg/DerelictLua
[3]: https://bitbucket.org/ariovistus/pyd
[4]:
http://docs.oracle.com/javase/7/docs/api/javax/tools/JavaCompiler.html

Regards,
Kelet

Would it be legal to have my program automatically download some dmd binary, that way I could always keep it up to date? Given Walter here doesn't absolutely forbid my program does that.

To the best of my knowledge it's totally ok to have your program download the latest zip from dlang.org on the client machine and use that.

Reply via email to