rund users welcome

Jonathan Marler johnnymarler at gmail.com
Sun Sep 9 04:32:32 UTC 2018


On Sunday, 9 September 2018 at 03:33:49 UTC, Vladimir Panteleev 
wrote:
> On Saturday, 8 September 2018 at 04:24:20 UTC, Jonathan Marler 
> wrote:
>> I've rewritten rdmd into a new tool called "rund" and have 
>> been using it for about 4 months. It runs about twice as fast 
>> making my workflow much "snappier". It also introduces a new 
>> feature called "source directives" where you can add special 
>> comments to the beginning of your D code to set various 
>> compiler options like import paths, versions, environment 
>> variable etc.  Feel free to use it, test it, provide feedback, 
>> contribute.
>
> Thanks!
>
> I tried integrating it into my scripts as an rdmd replacement.

Cool thanks for giving it a try.

> Currently, the following are missing:
>
> - -od (e.g. for -od.)

Hmmm, yeah it looks like rund is currently overriding this.  I've 
attempted a fix but it's hard to cover all the different 
combinations of -of/-od/etc.  I'll need to fill out the rest of 
the tests soon.

> - --build-only should imply -od.

Maybe...I actually have use cases where I want "--build-only" but 
want the executable to be built in the normal cache location.  
Build the program and cache it but don't run it yet.

> - No --main, though that can probably be substituted with -main

Yeah, I don't see any reason to duplicate the flag already 
supported by dmd.  Maybe there's a reason I'm not aware of.

> - The .d extension is not implied, like for dmd/rdmd

I haven't come up with any reasons to support this.  Maybe you 
can enlighten me?

>
> Also, --pass is weird. Why not use the standard-ish -- ?

It is a bit weird.  I've never had a reason to use this option 
myself.  Is this the syntax you are thinking of?

rund other.d main.d -- <program-args>...

The problem with this is it's not "composable".  Say you were 
running a D program that also used "--", then it's ambiguous 
whether the "--" belongs to rund or to the program being 
compiled.  But maybe I'm missing something?  If you have an idea 
that's less weird than "--pass=<src>.d" then I'm all for it :)

>
> Was there a problem with the idea of forking rdmd? The above 
> plus things like its -lib support would then not be needed to 
> be reimplemented.

I would actually consider this a "fork" of rdmd.  But I rebuilt 
it from the ground up, re-integrating each feature one by one so 
I could ensure they were "cohesive".  I also haven't integrated 
all features from rdmd yet.  I will probably integrate more of 
them when I see the need.  So far it's just been me using it so 
that's why I want to get people using it so we can flush out the 
rest.

The big difference with rdmd and rund is that rund is not 
compatible with compilers that don't support "-i".  Since this is 
such a fundamental change, I thought a rename made sense, and 
"rund" fits the modern times where we have more D compilers than 
just dmd.




More information about the Digitalmars-d mailing list