June 05, 2015
On 6/5/15 11:03 AM, Atila Neves wrote:
> On Friday, 5 June 2015 at 09:22:14 UTC, Jacob Carlborg wrote:
>> On 2015-06-04 23:50, Atila Neves wrote:
>>> http://dpaste.dzfl.pl/562f1ddc1aad
>>
>> Reggae doesn't support shell globbing of files? Something like:
>>
>> ExcludeFiles(["std/c/windows/**/*.d"]);
>
> Not right now, no. The good thing about how it's designed is you could
> write your own. Of course, the whole point is to have usable high-level
> builtins as well. It's a good idea, but like I said before, I hardly
> ever have to exclude anything in my own projects. Feel free to open an
> enhancement request.

This sounds like a job for CAPTAIN RANGE!!!

Seriously though, the thought of using ranges to allow specifying files fits perfectly. Imagine the power!

"std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");

Need that allSubFiles range, it probably already exists :)

-Steve
June 05, 2015
On Friday, 5 June 2015 at 19:17:14 UTC, Steven Schveighoffer wrote:
> This sounds like a job for CAPTAIN RANGE!!!
>
> Seriously though, the thought of using ranges to allow specifying files fits perfectly. Imagine the power!
>
> "std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");
>
> Need that allSubFiles range, it probably already exists :)
>
> -Steve

http://dlang.org/phobos/std_file.html#.dirEntries ?

"std/c/windows/".dirEntries(SpanMode.breadth).filter!(/* etc. */);
June 05, 2015
On 6/5/15 4:01 PM, Meta wrote:
> On Friday, 5 June 2015 at 19:17:14 UTC, Steven Schveighoffer wrote:
>> This sounds like a job for CAPTAIN RANGE!!!
>>
>> Seriously though, the thought of using ranges to allow specifying
>> files fits perfectly. Imagine the power!
>>
>> "std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");
>>
>> Need that allSubFiles range, it probably already exists :)
>
> http://dlang.org/phobos/std_file.html#.dirEntries ?
>
> "std/c/windows/".dirEntries(SpanMode.breadth).filter!(/* etc. */);

Nice, I was too lazy to look it up :)

-Steve
June 05, 2015
On Friday, 5 June 2015 at 19:17:14 UTC, Steven Schveighoffer wrote:
> This sounds like a job for CAPTAIN RANGE!!!
>
> Seriously though, the thought of using ranges to allow specifying files fits perfectly. Imagine the power!
>
> "std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");
>
> Need that allSubFiles range, it probably already exists :)


https://github.com/atilaneves/reggae/issues/1 :)
June 06, 2015
On Friday, 5 June 2015 at 15:03:27 UTC, Atila Neves wrote:
> On Friday, 5 June 2015 at 09:22:14 UTC, Jacob Carlborg wrote:
>> BTW, why are some Linux specific files ignored?
>
> No clue, I just went with the output of `make -f posix.mak`. It's the kind of thing that'd be more explicit if the build description were in D. It was one of my questions in the original post ;)

Oh, I can answer that, std.c.* has been deprecated:

https://github.com/D-Programming-Language/phobos/pull/2337

It is unused in phobos, so it doesn't need to be built.  It's only around for users who might still be employing it, giving them time to phase it out of their code.
June 06, 2015
On Friday, 5 June 2015 at 19:17:14 UTC, Steven Schveighoffer wrote:
> On 6/5/15 11:03 AM, Atila Neves wrote:
>> On Friday, 5 June 2015 at 09:22:14 UTC, Jacob Carlborg wrote:
>>> On 2015-06-04 23:50, Atila Neves wrote:
>>>> http://dpaste.dzfl.pl/562f1ddc1aad
>>>
>>> Reggae doesn't support shell globbing of files? Something like:
>>>
>>> ExcludeFiles(["std/c/windows/**/*.d"]);
>>
>> Not right now, no. The good thing about how it's designed is you could
>> write your own. Of course, the whole point is to have usable high-level
>> builtins as well. It's a good idea, but like I said before, I hardly
>> ever have to exclude anything in my own projects. Feel free to open an
>> enhancement request.
>
> This sounds like a job for CAPTAIN RANGE!!!
>
> Seriously though, the thought of using ranges to allow specifying files fits perfectly. Imagine the power!
>
> "std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");
>
> Need that allSubFiles range, it probably already exists :)

That... is an awesome idea.

Atila
June 06, 2015
On 2015-06-06 05:52, Joakim wrote:

> Oh, I can answer that, std.c.* has been deprecated:
>
> https://github.com/D-Programming-Language/phobos/pull/2337
>
> It is unused in phobos, so it doesn't need to be built.  It's only
> around for users who might still be employing it, giving them time to
> phase it out of their code.

I see, make sense.

-- 
/Jacob Carlborg
June 06, 2015
On 6/6/15 5:05 AM, Atila Neves wrote:
> On Friday, 5 June 2015 at 19:17:14 UTC, Steven Schveighoffer wrote:
>> On 6/5/15 11:03 AM, Atila Neves wrote:
>>> On Friday, 5 June 2015 at 09:22:14 UTC, Jacob Carlborg wrote:
>>>> On 2015-06-04 23:50, Atila Neves wrote:
>>>>> http://dpaste.dzfl.pl/562f1ddc1aad
>>>>
>>>> Reggae doesn't support shell globbing of files? Something like:
>>>>
>>>> ExcludeFiles(["std/c/windows/**/*.d"]);
>>>
>>> Not right now, no. The good thing about how it's designed is you could
>>> write your own. Of course, the whole point is to have usable high-level
>>> builtins as well. It's a good idea, but like I said before, I hardly
>>> ever have to exclude anything in my own projects. Feel free to open an
>>> enhancement request.
>>
>> This sounds like a job for CAPTAIN RANGE!!!
>>
>> Seriously though, the thought of using ranges to allow specifying
>> files fits perfectly. Imagine the power!
>>
>> "std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");
>>
>> Need that allSubFiles range, it probably already exists :)
>
> That... is an awesome idea.
>
> Atila

Worth a blog post. We have these wonderful facilities that can be combined in great surprising ways, and... nobody knows.

Andrei

June 06, 2015
On Saturday, 6 June 2015 at 15:36:05 UTC, Andrei Alexandrescu wrote:
> On 6/6/15 5:05 AM, Atila Neves wrote:
>> On Friday, 5 June 2015 at 19:17:14 UTC, Steven Schveighoffer wrote:
>>> On 6/5/15 11:03 AM, Atila Neves wrote:
>>>> On Friday, 5 June 2015 at 09:22:14 UTC, Jacob Carlborg wrote:
>>>>> On 2015-06-04 23:50, Atila Neves wrote:
>>>>>> http://dpaste.dzfl.pl/562f1ddc1aad
>>>>>
>>>>> Reggae doesn't support shell globbing of files? Something like:
>>>>>
>>>>> ExcludeFiles(["std/c/windows/**/*.d"]);
>>>>
>>>> Not right now, no. The good thing about how it's designed is you could
>>>> write your own. Of course, the whole point is to have usable high-level
>>>> builtins as well. It's a good idea, but like I said before, I hardly
>>>> ever have to exclude anything in my own projects. Feel free to open an
>>>> enhancement request.
>>>
>>> This sounds like a job for CAPTAIN RANGE!!!
>>>
>>> Seriously though, the thought of using ranges to allow specifying
>>> files fits perfectly. Imagine the power!
>>>
>>> "std/c/windows/".allSubFiles.filter!(a => a.name.extension == ".d");
>>>
>>> Need that allSubFiles range, it probably already exists :)
>>
>> That... is an awesome idea.
>>
>> Atila
>
> Worth a blog post. We have these wonderful facilities that can be combined in great surprising ways, and... nobody knows.

I was planning on writing a blog post. I just wanted reggae to get more mature first. Maybe I should do one anyway.

Atila
June 06, 2015
On Saturday, 6 June 2015 at 15:48:30 UTC, Atila Neves wrote:
> I was planning on writing a blog post. I just wanted reggae to get more mature first. Maybe I should do one anyway.

btw, you asked for a large project to build before, botan seems like a good candidate:

https://github.com/etcimon/botan

Seems to be around 150 klocs, maybe two-thirds the size of phobos.  You could use reggae to build the C++ and D versions and compare build times of the various compilers and build tools.  Seems like that would be good fodder for a blog post about reggae and D.