March 31, 2011
On 03/31/2011 09:27 AM, Steven Schveighoffer wrote:
> On Thu, 31 Mar 2011 10:16:58 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail@erdani.org> wrote:
>
>> On 03/31/2011 03:52 AM, bearophile wrote:
>>> KennyTM~:
>>>
>>>> I think the GSoC group and language feature discussion group should
>>>> be separated.
>>>
>>> Regarding D/Phobos feature discussions, they don't damage the summer
>>> of code discussions significantly because they put in use almost a
>>> different part of the brain.
>>
>> They do share the same time budget.
>
> So don't read/respond to the posts. I think any discouragement for open
> discussion for any topic related to D is not a healthy attitude for an
> open community.

Well you know it's considerably less simpler than that. Besides, I probably wasn't clear enough: I'm not discouraging anything as much as encouraging discussions that mark progress in important matters.

> If you want to have a GSOC-only discussion group, create a new newsgroup
> or mailing list. Do not hijack this group.

This is not about GSoC (it's but one of several items I mentioned), it's simply about making headway in topics that are important.


Andrei
March 31, 2011
On Thu, 31 Mar 2011 10:39:29 -0400, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:

> On 03/31/2011 09:27 AM, Steven Schveighoffer wrote:
>> On Thu, 31 Mar 2011 10:16:58 -0400, Andrei Alexandrescu
>> <SeeWebsiteForEmail@erdani.org> wrote:
>>
>>> On 03/31/2011 03:52 AM, bearophile wrote:
>>>> KennyTM~:
>>>>
>>>>> I think the GSoC group and language feature discussion group should
>>>>> be separated.
>>>>
>>>> Regarding D/Phobos feature discussions, they don't damage the summer
>>>> of code discussions significantly because they put in use almost a
>>>> different part of the brain.
>>>
>>> They do share the same time budget.
>>
>> So don't read/respond to the posts. I think any discouragement for open
>> discussion for any topic related to D is not a healthy attitude for an
>> open community.
>
> Well you know it's considerably less simpler than that. Besides, I probably wasn't clear enough: I'm not discouraging anything as much as encouraging discussions that mark progress in important matters.

That's a better statement.  I just don't think such "unimportant" discussions are harmful or damaging, just don't participate if you don't want to be distracted.  We're all (mostly) adults in charge of our own schedule.  We don't need to be insulated from things.

>> If you want to have a GSOC-only discussion group, create a new newsgroup
>> or mailing list. Do not hijack this group.
>
> This is not about GSoC (it's but one of several items I mentioned), it's simply about making headway in topics that are important.

Sorry if I got the wrong impression.  I don't always read an entire thread when I see a post I want to respond to.

-Steve
March 31, 2011
On 2011-03-31 00:32, Ary Manzana wrote:
> On 3/30/11 5:52 PM, KennyTM~ wrote:
>> On Mar 31, 11 04:19, Alix Pexton wrote:
>>> On 30/03/2011 20:45, KennyTM~ wrote:
>>>> This is confusing as :: is used to separate scopes in C++ (and PHP
>>>> too).
>>>
>>> The first thing it reminded me of was Lua, where a single colon makes
>>> the left hand side into the first argument of the function on the right.
>>>
>>> foo:bar(x) ==> bar.(foo, x)
>>>
>>> So it felt kinda familiar to me ^^
>>>
>>> A...
>>
>> That is almost like UFCS in D.
>>
>> int foo(string x, int y) { return x.length - y; }
>>
>> assert (foo("testing", 3) == 4);
>> assert ("testing".foo(3) == 4);
>>
>> But OP's proposal is restricted to __traits only.
>>
>> __traits is a relatively advanced part of the language, plus many of its
>> features has already been exposed via the library std.traits, e.g.
>> std.traits.hasMember!(S, "m"), I don't think it really needs a very
>> short syntax.
>
> Look, metaprogramming in Ruby is a relatively advanced part of the
> language. And you know why it is heavily used and everyone can jump and
> start using it in a matter of seconds and build the most amazing things?
> Because it's very, very, very, (add 1000 very words here), very easy to
> use.
>
> Why make *anything* hard to use if you can do it in an easier way?

Yes, because there is nothing special with how the meta information is accessed, just regular methods, no additional language support.

-- 
/Jacob Carlborg
March 31, 2011
On 2011-03-31 01:05, KennyTM~ wrote:
> On Mar 31, 11 06:32, Ary Manzana wrote:
>> On 3/30/11 5:52 PM, KennyTM~ wrote:
>>> On Mar 31, 11 04:19, Alix Pexton wrote:
>>>> On 30/03/2011 20:45, KennyTM~ wrote:
>>>>> This is confusing as :: is used to separate scopes in C++ (and PHP
>>>>> too).
>>>>
>>>> The first thing it reminded me of was Lua, where a single colon makes
>>>> the left hand side into the first argument of the function on the
>>>> right.
>>>>
>>>> foo:bar(x) ==> bar.(foo, x)
>>>>
>>>> So it felt kinda familiar to me ^^
>>>>
>>>> A...
>>>
>>> That is almost like UFCS in D.
>>>
>>> int foo(string x, int y) { return x.length - y; }
>>>
>>> assert (foo("testing", 3) == 4);
>>> assert ("testing".foo(3) == 4);
>>>
>>> But OP's proposal is restricted to __traits only.
>>>
>>> __traits is a relatively advanced part of the language, plus many of its
>>> features has already been exposed via the library std.traits, e.g.
>>> std.traits.hasMember!(S, "m"), I don't think it really needs a very
>>> short syntax.
>>
>> Look, metaprogramming in Ruby is a relatively advanced part of the
>> language. And you know why it is heavily used and everyone can jump and
>> start using it in a matter of seconds and build the most amazing things?
>> Because it's very, very, very, (add 1000 very words here), very easy to
>> use.
>>
>
> We're talking about __traits, a feature for compile-time reflection
> where most of its capability is already wrapped up to std.traits. It
> isn't comparable with the whole metaprogramming capability in another
> language.
>
> You know, metaprogramming is also heavily used in D, because of a
> sensible template system, mixins and CTFE, not __traits.
>
>> Why make *anything* hard to use if you can do it in an easier way?
>
> Is
>
> meta.hasMember(S, "m")
>
> or even
>
> import std.traits;
> ...
> hasMember!(S, "m")
>
> really that hard to use?
>
> I think the 'meta' namespace is enough. 'A::B' is too much for such a
> low-level feature.

In Ruby it would just be: S.hasMember("m") and "hasMember" would just be a regular plain old method, nothing special about it.

-- 
/Jacob Carlborg
April 07, 2011
On 31/03/2011 16:11, Steven Schveighoffer wrote:
> On Thu, 31 Mar 2011 10:39:29 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail@erdani.org> wrote:
>
>> On 03/31/2011 09:27 AM, Steven Schveighoffer wrote:
>>> On Thu, 31 Mar 2011 10:16:58 -0400, Andrei Alexandrescu
>>> <SeeWebsiteForEmail@erdani.org> wrote:
>>>
>>>> On 03/31/2011 03:52 AM, bearophile wrote:
>>>>> KennyTM~:
>>>>>
>>>>>> I think the GSoC group and language feature discussion group should
>>>>>> be separated.
>>>>>
>>>>> Regarding D/Phobos feature discussions, they don't damage the summer
>>>>> of code discussions significantly because they put in use almost a
>>>>> different part of the brain.
>>>>
>>>> They do share the same time budget.
>>>
>>> So don't read/respond to the posts. I think any discouragement for open
>>> discussion for any topic related to D is not a healthy attitude for an
>>> open community.
>>
>> Well you know it's considerably less simpler than that. Besides, I
>> probably wasn't clear enough: I'm not discouraging anything as much as
>> encouraging discussions that mark progress in important matters.
>
> That's a better statement. I just don't think such "unimportant"
> discussions are harmful or damaging, just don't participate if you don't
> want to be distracted. We're all (mostly) adults in charge of our own
> schedule. We don't need to be insulated from things.
>

Yeah, kinda, but the thing is that such discussions are often done carrying the posture or tone that the language/compiler/library writers should work or address that issue soon (or even in the medium-term). That's perhaps what's most frustrating.


-- 
Bruno Medeiros - Software Engineer
1 2 3 4
Next ›   Last »