November 11, 2013
On Sunday, 10 November 2013 at 16:37:30 UTC, Dicebot wrote:
> (x-post from .announce:)
>
> Had a very quick run-through the provided functionality. Looks
> nice and has some of utilities I tend to reinvent in my own code
> when doing meta-programming. Though I'd prefer to initiate
> creation of nested `std.meta` package and move such stuff there
> instead of adding yet another plain module. Also I am trying to
> negotiate with Andrei & Walter into deciding std.typetuple fate
> which may impact implementation of such module quite a lot :)

I agree. I have a partial (most of the big stuff) port of std.algorithm and std.functional for 'Seq's or whatever we want to call them now, I'll try and whip it up in to a std.meta module with appropriate sub-modules ASAP for discussion/comparison. I am quite pleased with what I've got so far, hopefully I'll have it ready to show during the next week.
November 11, 2013
10.11.2013 19:30, Ilya Yaroshenko пишет:
> Hello, All!
>
> std.templatecons: Functional style template constructors.
>
> Documentation:
> http://9il.github.io/phobosx/std.templatecons.html
>
> Source:
> https://github.com/9il/phobosx/blob/master/std/templatecons.d
>
> Note:
> dmd >= 2.64 required
>
> Please destroy!
>
> I am sorry for my English in sources/docs.
>
> Best Regards,
> Ilya

No more plain modules, please. Call it `std.meta.<something>`.

I'm against of including a few range-like (i.e. like `std.range` and `std.algorithm` stuff) templates like `RepeatExactly`, `templateStaticMap`, and `templateFilter`. First these are generic tuple manipulation templates belong to `std.meta.generictuple` (or how it's called now). Second I'd like to see one-to-one analog of all (most) applicable range operation functions for generic tuples in Phobos by merging in e.g. [1]

As for `std.functional`-like template I can't tell much as the only ones

http://denis-sh.bitbucket.org/unstandard/unstd.templates.html
[1] http://denis-sh.bitbucket.org/unstandard/unstd.generictuple.html

-- 
Денис В. Шеломовский
Denis V. Shelomovskij
November 11, 2013
12.11.2013 0:33, Denis Shelomovskij пишет:
> 10.11.2013 19:30, Ilya Yaroshenko пишет:
>> Hello, All!
>>
>> std.templatecons: Functional style template constructors.
>>
>> Documentation:
>> http://9il.github.io/phobosx/std.templatecons.html
>>
>> Source:
>> https://github.com/9il/phobosx/blob/master/std/templatecons.d
>>
>> Note:
>> dmd >= 2.64 required
>>
>> Please destroy!
>>
>> I am sorry for my English in sources/docs.
>>
>> Best Regards,
>> Ilya
>
> No more plain modules, please. Call it `std.meta.<something>`.
>
> I'm against of including a few range-like (i.e. like `std.range` and
> `std.algorithm` stuff) templates like `RepeatExactly`,
> `templateStaticMap`, and `templateFilter`. First these are generic tuple
> manipulation templates belong to `std.meta.generictuple` (or how it's
> called now). Second I'd like to see one-to-one analog of all (most)
> applicable range operation functions for generic tuples in Phobos by
> merging in e.g. [1]
>
> As for `std.functional`-like template I can't tell much as the only ones
>
> http://denis-sh.bitbucket.org/unstandard/unstd.templates.html
> [1] http://denis-sh.bitbucket.org/unstandard/unstd.generictuple.html
>

Sorry, accidental Ctrl+Enter. So let me continue:

As for `std.functional`-like template I can't tell much as the only ones I really use are `unaryFun`/`binaryFun` and its string-to-function abilities which I also need for templates and which I also want to have in Phobos (see [2]).

[2] http://denis-sh.bitbucket.org/unstandard/unstd.templates.html

-- 
Денис В. Шеломовский
Denis V. Shelomovskij
November 11, 2013
On Monday, 11 November 2013 at 17:35:26 UTC, John Colvin wrote:
> I agree. I have a partial (most of the big stuff) port of std.algorithm and std.functional for 'Seq's or whatever we want to call them now, I'll try and whip it up in to a std.meta module with appropriate sub-modules ASAP for discussion/comparison. I am quite pleased with what I've got so far, hopefully I'll have it ready to show during the next week.

I am proposing to implement superseding package/modules in term of template argument list with no auto-expansion to avoid having two distinct types for that and making signatures a bit more hygienic. Will that be much of a burden? :)
November 11, 2013
On Monday, 11 November 2013 at 20:33:37 UTC, Denis Shelomovskij wrote:
> 10.11.2013 19:30, Ilya Yaroshenko пишет:
>> Hello, All!
>>
>> std.templatecons: Functional style template constructors.
>>
>> Documentation:
>> http://9il.github.io/phobosx/std.templatecons.html
>>
>> Source:
>> https://github.com/9il/phobosx/blob/master/std/templatecons.d
>>
>> Note:
>> dmd >= 2.64 required
>>
>> Please destroy!
>>
>> I am sorry for my English in sources/docs.
>>
>> Best Regards,
>> Ilya
>
> No more plain modules, please. Call it `std.meta.<something>`.
>
> I'm against of including a few range-like (i.e. like `std.range` and `std.algorithm` stuff) templates like `RepeatExactly`, `templateStaticMap`, and `templateFilter`. First these are generic tuple manipulation templates belong to `std.meta.generictuple` (or how it's called now). Second I'd like to see one-to-one analog of all (most) applicable range operation functions for generic tuples in Phobos by merging in e.g. [1]
>
> As for `std.functional`-like template I can't tell much as the only ones
>
> http://denis-sh.bitbucket.org/unstandard/unstd.templates.html
> [1] http://denis-sh.bitbucket.org/unstandard/unstd.generictuple.html

Can we stop calling this tuples already ? I think one of the thing that everybody can agree upon is that calling that tuples is confusing everybody (including me).
November 11, 2013
On Monday, 11 November 2013 at 20:37:49 UTC, Dicebot wrote:
> On Monday, 11 November 2013 at 17:35:26 UTC, John Colvin wrote:
>> I agree. I have a partial (most of the big stuff) port of std.algorithm and std.functional for 'Seq's or whatever we want to call them now, I'll try and whip it up in to a std.meta module with appropriate sub-modules ASAP for discussion/comparison. I am quite pleased with what I've got so far, hopefully I'll have it ready to show during the next week.
>
> I am proposing to implement superseding package/modules in term of template argument list with no auto-expansion to avoid having two distinct types for that and making signatures a bit more hygienic. Will that be much of a burden? :)

My approach is to use two distinct types, Seq and Pack. The combination is actually quite acceptable to use, but I'm open to alternatives. To be honest, I used to feel that auto-expanding tuples were a pain, but once one has decent tools to work with - like I'm trying to create - it isn't much of a problem.

Some sort of syntax to create non-expanding tuples, whether as a builtin concept or sugar for a library construct* would be nice, otherwise the already ugly heavy nested parenthesis are made worse by having Pack!(...) everywhere. ';' delimited parameter lists would be one way to do this quite nicely IMO, although there are also a good number of other characters that would be unambiguous in that concept.

*preferable, obviously.


To answer your question directly: My work uses auto-expanding Seqs quite a bit, but I can't think of anything that couldn't be immediately re-implemented with non-expanding. Without a nice syntax like ';' delimited parameter lists, it would probably be uglier than it currently can be with auto-expanding.
November 11, 2013
On Monday, 11 November 2013 at 20:33:37 UTC, Denis Shelomovskij wrote:
> 10.11.2013 19:30, Ilya Yaroshenko пишет:
>> Hello, All!
>>
>> std.templatecons: Functional style template constructors.
>>
>> Documentation:
>> http://9il.github.io/phobosx/std.templatecons.html
>>
>> Source:
>> https://github.com/9il/phobosx/blob/master/std/templatecons.d
>>
>> Note:
>> dmd >= 2.64 required
>>
>> Please destroy!
>>
>> I am sorry for my English in sources/docs.
>>
>> Best Regards,
>> Ilya
>
> No more plain modules, please. Call it `std.meta.<something>`.
>
> I'm against of including a few range-like (i.e. like `std.range` and `std.algorithm` stuff) templates like `RepeatExactly`, `templateStaticMap`, and `templateFilter`. First these are generic tuple manipulation templates belong to `std.meta.generictuple` (or how it's called now). Second I'd like to see one-to-one analog of all (most) applicable range operation functions for generic tuples in Phobos by merging in e.g. [1]
>
> As for `std.functional`-like template I can't tell much as the only ones
>
> http://denis-sh.bitbucket.org/unstandard/unstd.templates.html
> [1] http://denis-sh.bitbucket.org/unstandard/unstd.generictuple.html

How would you feel about me cannibalising parts of that for my attempt at making a proper std.meta module? Conveniently it seems that we use similar core ideas, but have implemented disjoint sets of functionality.
November 11, 2013
On Monday, 11 November 2013 at 22:18:27 UTC, John Colvin wrote:
> On Monday, 11 November 2013 at 20:33:37 UTC, Denis Shelomovskij wrote:
>> 10.11.2013 19:30, Ilya Yaroshenko пишет:
>>> Hello, All!
>>>
>>> std.templatecons: Functional style template constructors.
>>>
>>> Documentation:
>>> http://9il.github.io/phobosx/std.templatecons.html
>>>
>>> Source:
>>> https://github.com/9il/phobosx/blob/master/std/templatecons.d
>>>
>>> Note:
>>> dmd >= 2.64 required
>>>
>>> Please destroy!
>>>
>>> I am sorry for my English in sources/docs.
>>>
>>> Best Regards,
>>> Ilya
>>
>> No more plain modules, please. Call it `std.meta.<something>`.
>>
>> I'm against of including a few range-like (i.e. like `std.range` and `std.algorithm` stuff) templates like `RepeatExactly`, `templateStaticMap`, and `templateFilter`. First these are generic tuple manipulation templates belong to `std.meta.generictuple` (or how it's called now). Second I'd like to see one-to-one analog of all (most) applicable range operation functions for generic tuples in Phobos by merging in e.g. [1]
>>
>> As for `std.functional`-like template I can't tell much as the only ones
>>
>> http://denis-sh.bitbucket.org/unstandard/unstd.templates.html
>> [1] http://denis-sh.bitbucket.org/unstandard/unstd.generictuple.html
>
> How would you feel about me cannibalising parts of that for my attempt at making a proper std.meta module? Conveniently it seems that we use similar core ideas, but have implemented disjoint sets of functionality.

*somewhat disjoint
November 15, 2013
12.11.2013 2:19, John Colvin пишет:
> On Monday, 11 November 2013 at 22:18:27 UTC, John Colvin wrote:
>> On Monday, 11 November 2013 at 20:33:37 UTC, Denis Shelomovskij wrote:
>>> 10.11.2013 19:30, Ilya Yaroshenko пишет:
>>>> Hello, All!
>>>>
>>>> std.templatecons: Functional style template constructors.
>>>>
>>>> Documentation:
>>>> http://9il.github.io/phobosx/std.templatecons.html
>>>>
>>>> Source:
>>>> https://github.com/9il/phobosx/blob/master/std/templatecons.d
>>>>
>>>> Note:
>>>> dmd >= 2.64 required
>>>>
>>>> Please destroy!
>>>>
>>>> I am sorry for my English in sources/docs.
>>>>
>>>> Best Regards,
>>>> Ilya
>>>
>>> No more plain modules, please. Call it `std.meta.<something>`.
>>>
>>> I'm against of including a few range-like (i.e. like `std.range` and
>>> `std.algorithm` stuff) templates like `RepeatExactly`,
>>> `templateStaticMap`, and `templateFilter`. First these are generic
>>> tuple manipulation templates belong to `std.meta.generictuple` (or
>>> how it's called now). Second I'd like to see one-to-one analog of all
>>> (most) applicable range operation functions for generic tuples in
>>> Phobos by merging in e.g. [1]
>>>
>>> As for `std.functional`-like template I can't tell much as the only ones
>>>
>>> http://denis-sh.bitbucket.org/unstandard/unstd.templates.html
>>> [1] http://denis-sh.bitbucket.org/unstandard/unstd.generictuple.html
>>
>> How would you feel about me cannibalising parts of that for my attempt
>> at making a proper std.meta module? Conveniently it seems that we use
>> similar core ideas, but have implemented disjoint sets of functionality.
>
> *somewhat disjoint

Use it as you wish. Also feel free to e-mail me with questions/functionality requests (or open issues for Unstandard project). Just in case you want we also could make `unstd.meta` and then push to Phobos.

-- 
Денис В. Шеломовский
Denis V. Shelomovskij
1 2
Next ›   Last »