@@ -30,7 +30,7 @@ Minutes were taken by Jorge Vicente Cantero, acting secretary.
30
30
Attendees Present:
31
31
32
32
* Martin Odersky ([ @odersky ] ( https://github.com/odersky ) ), EPFL
33
- * Seth Tisue ([ @SethTisue ] ( https://github.com/SethTisue ) ), EPFL
33
+ * Seth Tisue ([ @SethTisue ] ( https://github.com/SethTisue ) ), Lightbend
34
34
* Iulian Dragos ([ @dragos ] ( https://github.com/dragos ) ), Independent
35
35
* Heather Miller ([ @heathermiller ] ( https://github.com/heathermiller ) ), Scala Center
36
36
* Sébastien Doeraene ([ @sjrd ] ( https://github.com/sjrd ) ), EPFL
@@ -101,19 +101,22 @@ discuss proposals and convince each other about the pros and cons. All the
101
101
Committee finally decides to not consider abstentions as no's. Adriaan, however,
102
102
suggests that we should penalize people that abstain too often.
103
103
104
- Another system proposed by Martin helps survive the abstention issue mentioned
104
+ Martin proposes a new system that helps survive the abstention issue mentioned
105
105
before. For a proposal to pass, at least 50% of all the Committee
106
106
and two-thirds of all the people voting (not counting abstentions) must accept
107
107
it. The quorum rule is kept. After some discussion, the Committee unanimously
108
- votes in favor of the new rules.
108
+ votes in favor of Martin's new system, along with not considering abstentions as
109
+ no's and allowing all the Committee members to vote after the meeting. These
110
+ rules are formalized [ here] ( https://github.com/scala/scala.github.com/pull/632 ) .
109
111
110
112
### Discussion of SIP-27: Trailing Commas
111
113
112
114
Eugene describes what happened in the last meeting. Martin asks if there is a
113
115
concrete proposal. Jorge says that he thinks that Dale would push for the new
114
116
line specialized case. Martin proposes to push for a more concrete proposal
115
117
because the specification cannot be so open-ended to properly analyze the
116
- consequences of the suggested changes.
118
+ consequences of the suggested changes. Therefore, he suggests to vote on the
119
+ proposal to see either if we continue its review or we stop its discussion.
117
120
118
121
Seth and Adriaan voice their opinions on trailing commas again, they don't agree
119
122
this is a problem that should be solved in the language. Martin changes his view
@@ -123,13 +126,13 @@ that it wouldn't be good to contradict last month's vote on the proposal.
123
126
Heather says that she's in favor of trailing commas because makes beginners be
124
127
less confused by the syntax and help people get started with the language.
125
128
Iulian doesn't like the specialized version, he would prefer a general version.
129
+ Josh is not present, but he will vote via email in the next week.
126
130
127
- ** Outcome** : All the Committee decides to vote on accepting the proposal again for a final
128
- review with a clear specification of the changes. Seth and Adriaan vote against,
129
- the rest of the Committee except Josh vote in favor of it. According to our new
130
- rules, Josh gets to decide whether the proposal will be readmitted for review or
131
- cancelled (** NOTE** : Josh votes in favor of trailing commas one week after the
132
- meeting). Trailing commas will be reviewed in November.
131
+ ** Outcome** : All the Committee (except Seth and Adriaan) decides to vote on
132
+ accepting the proposal again for a final review. For this review, Dale has to
133
+ update his proposal championing for one of the different changes to the syntax,
134
+ and making a succinct specification whose consequences can be analysed by the
135
+ Committee. Trailing commas will be reviewed in November.
133
136
134
137
### Discussion of SIP-20: Improved Lazy Val Initialization
135
138
@@ -138,11 +141,14 @@ Several new schemes have been added to the proposal based on his experience in
138
141
Dotty, in which the championed scheme is already implemented.
139
142
140
143
There are no clear winner in the case of local lazy vals, but there seems to be
141
- two clear candidates for the non-local lazy vals (B4-general and B6).
142
- Both are faster than the existing implementation in the contended case but B4
143
- general is 4x and B6 is only 2x. However, for the uncontended case B4 general is
144
- 30% slower than the existing implementation, while B6 is on par, up to +-5%.
145
- Dmitry recommends the B6 case because it's a * pure* win. Memory-wise, B6 would
144
+ two clear candidates for the non-local lazy vals
145
+ ([ V4] ( http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html )
146
+ and
147
+ [ V6] ( http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html ) ).
148
+ Both are faster than the existing implementation in the contended case but V4
149
+ general is 4x and V6 is only 2x. However, for the uncontended case V4 general is
150
+ 30% slower than the existing implementation, while V6 is on par, up to +-5%.
151
+ Dmitry recommends the V6 case because it's a * pure* win. Memory-wise, V6 would
146
152
have a smaller memory footprint.
147
153
148
154
Sébastien comments on the increase of the bytecode for the getter of the lazy
@@ -153,21 +159,21 @@ code inlining).
153
159
154
160
Jorge comments that there's no implementation of this proposal for scalac. This
155
161
means that someone should step up and provide such implementation, because
156
- Dmitry does not have time for it. Adriaan comments on the fact that B6 uses
162
+ Dmitry does not have time for it. Adriaan comments on the fact that V6 uses
157
163
` sun.misc.Unsafe ` , which he prefers that the compiler doesn't depend on to run
158
164
in other platforms that don't allow it (Google App Engine). Sébastien highlights
159
165
that the proposal could use var handles, which are planned to be shipped on Java
160
166
9 .
161
167
162
168
Heather proposes to mark this proposal as dormant, since it's lacking an
163
169
implementation. She wants to let other people claim its ownership and provide an
164
- implementation if they care about this issue.
170
+ implementation if they care about this issue. Jorge proposes to ask first Dmitry
171
+ if he wants to champion V4, otherwise it would be marked as dormant.
165
172
166
- ** Outcome** : The Committee agrees to mark the proposal as dormant and let
167
- someone pick it up and provide an implementation. Ideally, this implementation
168
- should run in Java 8 and don't depend on var handles. The SIP Process Lead will
169
- wait some time to receive another candidate from the current author, Dmitry. If
170
- he doesn't propose anything, the SIP will be marked as dormant.
173
+ ** Outcome** : The Committee agrees to wait for Dmitry's response and then mark
174
+ the proposal as dormant. The idea is to let someone pick it up and provide an
175
+ implementation. Ideally, this implementation should run in Java 8 and don't
176
+ depend on var handles.
171
177
172
178
## Closing remarks
173
179
See you next time!
0 commit comments