On 07/02/2014 11:19 AM, Gábor Lehel wrote:
Thanks, this is a good step, as is delaying taking actions by a day as
proposed in the meeting itself.
If you have any suggestions for how this regular email or the
process in general could be improved, please let us know.
Most fundamentally, what I'm wondering is, why do most of the things
discussed at the meetings need to be discussed separately in the first
place?
Why not have those discussions directly in the comments for the
respective RFC PRs? Up to and including leaving comments like "we
suggest closing this, because {justification}, unless someone
convinces us otherwise", "we suggest merging this because
{justification}", and so on. In an ideal world, the meetings could
merely ratify the decisions which were already evident from the PR
discussions themselves. This could also help avoid situations where
the two discussions end up disjoint in some way, e.g. according to
this week's meeting notes @pcwalton and @aturon essentially
recapitulated the exact same debate about the lifetime elision "self
rule" at the meeting which @aturon and I had previously gone through
in the PR comments.
I would like to move in this direction, but like many cultural changes
it will be gradual. The primary reason we do so much in meetings is
because face-to-face discussions move much faster and involve much less
argumentation than asynchronous online discussions. In the immediate
future I'd like to put more pressure on meeting participants to express
their opinions on the issue ahead of meetings, which this initiative
Nick is working on helps by making it clear what issues are coming up.
From the proposed-for-discussion list:
https://github.com/rust-lang/rfcs/pull/122 - Syntax sugar for
prefix-style type parameter lists - ben0x539
Sugary syntax for putting a group of type parameters and their
bounds before a group of functions. Motivation is our often
unwieldly lists of type parameters.
Not much feedback, but mostly positive. Generally for the
motivation, rather than the solution.
Recommend close in deference to RFC 135 (where clauses) which
solve the motivating problem here, along with other issues.
The two are complementary, not substitutive. 122 allows factoring out
type parameter lists for multiple declarations. 135 allows writing
them differently.
From the meeting itself, because it concerns process:
* nrc: Do we want to keep this open? It's the |<>| to |[]| changes.
* acrichto: It's so new, I don't think we should close it.
* nrc: Even so, if we're not going to do it, I don't think we
should keep it open.
I don't see what could have been gained by closing it. Potential
scenarios if it's left open:
(1) Participants end up convincing each other than the change is not
worth doing. (This is what ended up happening in this case.)
(2) Contrary to expectations, a consensus emerges in favor of the
change. Maybe there is some factor that hadn't been taken into account
previously, or the arguments of one side end up convincing the other.
I think this might be useful information to have learned. Then you can
evaluate the decision on the merits.
Whereas if it's closed early:
(3) People are left with the opinions they already had, and now might
also have the impression that Mozilla has heavy-handedly shut down the
debate.
I mean, possibly leave a comment like "Just so you know, we are
extremely unlikely to do this, but feel free to keep discussing", but
I think that was clear to everyone at the outset. I just don't see
what could have been gained by preventing the discussion from playing
itself out.
Cheers,
Gábor
On Tue, Jul 1, 2014 at 1:23 AM, Nick Cameron <li...@ncameron.org
<mailto:li...@ncameron.org>> wrote:
Hi all, there have recently been some calls to be more open about
the Rust meetings, in particular to publish the agenda beforehand.
The agenda setting has been quite informal, often not coming
together until the meeting starts. Not to say that we won't
publish an agenda in the future, but that it is not as easy as it
might seem. However, as a step towards that, I will be mailing out
the part of the agenda that is set in advance which is the set of
(usually older) RFCs where discussion has mostly ceased and where
we feel we can make a decision on progress. This email is a
relatively new convention in any case. It has been sent to most
meeting attendees at the start of the week. From now on, I'll send
it to the mailing list instead. If you have comments on the RFCs,
please comment on the RFC PR itself, please do not reply to the
mailing list.
Some explanation of the process here - each week there are two
Rust meetings where we discuss RFCs, the general Rust meeting and
the triage meeting. We only accept RFCs at the general meeting.
RFCs may be closed at either meeting. In order to make sure no
older RFCs slip through the cracks, RFCs where discussion has come
to a stop (or nearly so) are recommended each week for discussion.
Based on the outcome of the discussion on the PR and the current
goals of the Rust project (in particular in not accepting any
major backwards compatible changes before 1.0) an RFC will be
proposed for discussion at the general meeting if it needs
discussion or we are likely to accept, or to the triage meeting if
it is likely to closed. To clarify, what actually happens to an
RFC is decided at the meeting, not by which meeting it is
discussed at. Often, other RFCs are also discussed at the meetings
where attendees think there is a more urgent need to discuss
something. You can see the minutes of the meeting discussions at
https://github.com/rust-lang/meeting-minutes. Not all the RFCs
proposed in this email get discussed at the meetings - either
because we run out of time or because a key person is not at the
meeting.
The 'actions agreed' section keeps track of actions on older RFCs
agreed at previous meetings, but which have not yet been carried out.
If you have any suggestions for how this regular email or the
process in general could be improved, please let us know.
Cheers, Nick
Proposed for discussion at Rust meeting
---------------------------------------
https://github.com/rust-lang/rfcs/pull/16 - attributes on
statements and blocks
huon has updated
should we accept now?
https://github.com/rust-lang/rfcs/pull/17 - Iterable trait family
- erikt
No recommendation, just needs a kick to get moving again.
https://github.com/rust-lang/rfcs/pull/108 - Convenience syntax
for module imports - tommit
Allow e.g., `use module::{self, Type};` for `use module::Type;
use module;`.
Generally positive response. Some bike shedding around the use
of `self` since we call the file mod.rs <http://mod.rs>, and some
proposal to allow self.rs <http://self.rs> instead.
Recommend we accept (possibly we should bikeshed the synax
`self`). We could postpone this (it would be backwards
compatible), but it seems very desirable and would be little
effort to implement.
https://github.com/rust-lang/rfcs/pull/114 - Unboxed closures -
nmatsakis
A lot of discussion, pretty much all about the details.
General sentiment that we want this.
Recommend we accept - is this the right RFC to accept, I've
not really been keeping track - pnkfelix, pcwalton - is there
something which supersedes this? I think this needs a small update
to reflect some of the later comments.
https://github.com/rust-lang/rfcs/pull/117 - Rename unsafe to
trusted - stevelabnik
Loads of opinion in the thread (162 comments!). Note that Niko
has an upcoming RFC with the concept of unsafe/trusted traits
where the keyword `trusted` makes a lot more sense than `unsafe`,
so we could save a keyword here.
Recommend we discuss this.
https://github.com/rust-lang/rfcs/pull/118 - arithmetics and logic
operators to take their arguments by value not by ref - pcwalton.
Pretty negative feedback (though not all). I remember being
convinced this was the proper way to implement arithmetic
operators a while back, but I can't remember why (something about
using tuples in the signature maybe? I can't remember). There
seems to be some poor interaction with BigInt, etc. where
implementing for `&BigInt` isn't what you want (but I don't see
why from the comment, pcwalton seems to in his reply though).
Lets discuss this.
Proposed for discussion at triage
---------------------------------
https://github.com/rust-lang/rfcs/pull/98 - Add 'maybe
initialised' pointers (pretty much out params, aiui) - gereeter
A new form of reference, `&uninit`, is added that is
write-only and points to possibly uninitialized data.
Mixed reactions - overall positive, but agreement on low priority.
Recommend close as postponed - was this agreed last week?
https://github.com/rust-lang/rfcs/pull/45 - Avoiding integer
overflow - bmyers
Proposes range types and other complicated stuff, but
discusses other options.
Lots of discussion on integer overflow in general, no
agreement. Also discussed to death on the mailing list several
times, including currently.
Recommend close - we might conceivably do something, but we
won't do this and we won't lose anything by closing this RFC
(there's also a new RFC with a different proposal derived from the
most recent mailing list thread).
https://github.com/rust-lang/rfcs/pull/119 - add support to
serialize::json for incrementally reading multiple JSON objects -
XMPPwocky
Apparently this is included in RFC 22, which has an
implementation.
Recommend close in deference to RFC 22.
https://github.com/rust-lang/rfcs/pull/120 - Reintroduce 'do'
keyword as sugar for nested match statements - bvssvni
Syntax for flattening match statements by 'chaining' arms of a
match statement.
Feedback is mostly negative. Some positive feelings for
including the macro rather than first class syntax. Others want to
wait for HKT and have a function.
Recommend close as postponed. We probably want something like
this, but not pre-1.0.
https://github.com/rust-lang/rfcs/pull/122 - Syntax sugar for
prefix-style type parameter lists - ben0x539
Sugary syntax for putting a group of type parameters and their
bounds before a group of functions. Motivation is our often
unwieldly lists of type parameters.
Not much feedback, but mostly positive. Generally for the
motivation, rather than the solution.
Recommend close in deference to RFC 135 (where clauses) which
solve the motivating problem here, along with other issues.
Actions agreed
--------------
https://github.com/rust-lang/rfcs/pull/22 - Deserializing to a
stream of tagged values - erikt
Changes to the deserialisation framework. Allows for decoding
into an enum. No commentary for or against.
erikt to update?
https://github.com/rust-lang/rfcs/pull/88 - Macro syntax to count
sequence repetitions - Eridius
More discussion - esp, can it be done with a macro
https://github.com/rust-lang/rfcs/pull/101 - More flexible pattern
matching for slices - krdln
No comments. The RFC is a little bit vague, but seems like
kind of a win. Backwards incompatible.
Close.
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org <mailto:Rust-dev@mozilla.org>
https://mail.mozilla.org/listinfo/rust-dev
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev