@@ -15,44 +15,49 @@ The following agenda was distributed to attendees:
15
15
| [ SIP 22 - Async] ( http://docs.scala-lang.org/sips/pending/async.html ) | Eugene Burmako |
16
16
| [ SIP 20 - Improved lazy val initialization] ( http://docs.scala-lang.org/sips/pending/improved-lazy-val-initialization.html ) | Sébastien Doeraene |
17
17
| [ Trailing commas SIP] ( https://github.com/scala/scala.github.com/pull/533 ) | Eugene Burmako |
18
-
18
+
19
19
Quick iteration through all the SLIPs:
20
+
20
21
* [ Adding standard JSON AST] ( https://github.com/scala/slip/pull/28 )
21
22
* [ Extensions of Futures and Promises ] ( https://github.com/scala/slip/issues/7 )
22
23
* [ Implicit enrichment of Either to support Monadic bias] ( https://github.com/scala/slip/pull/20 )
23
24
* [ Adding scala.io.Target] ( https://github.com/scala/slip/pull/2 )
24
25
* [ SLIP 27 - Redesigning collection views] ( https://github.com/scala/slip/blob/master/text/0027-collection-view-redesign.md )
25
-
26
+
26
27
Jorge Vicente Cantero was the Process Lead and acting secretary of the meeting.
27
-
28
+
28
29
The following proposals were numbered:
30
+
29
31
* SIP-26: Unsigned Integer Data Types
30
32
* SIP-27: Trailing commas
31
-
33
+
32
34
(When a SIP is numbered, it can be thought of as a first-round of acceptance.
33
35
That is, the committee has voted in favor of the changed being accepted into
34
36
Scala in theory, so long as all potential design and implementation flaws are
35
37
eventually addressed and worked through. Typically, the committee will raise a
36
38
number of important concerns about the SIP that must be addressed, as next
37
39
steps, ideally before the next meeting of the SIP committee.)
38
-
40
+
39
41
The following other proposals were discussed:
42
+
40
43
* SIP-22: Async (postponed)
41
44
* SIP-20: Improved lazy val initialization
42
45
* SIP-25: Trait Parameters
43
-
46
+
44
47
Some other library proposals were evaluated and the committee gave feedback to
45
48
the authors.
46
49
47
50
## Date, Time and Location
48
-
51
+
49
52
The meeting took place at 5:00pm Central European Time / 8:00am Pacific Daylight
50
53
Time on Wednesday, July 13th, 2016 via Google Hangouts.
51
-
54
+
52
55
Minutes were taken by Jorge Vicente Cantero, acting secretary.
53
56
54
57
## Attendees
58
+
55
59
Attendees Present:
60
+
56
61
* Martin Odersky ([ @odersky ] ( github.com/odersky ) ), EPFL
57
62
* Adriaan Moors ([ @adriaanm ] ( github.com/adriaanm ) ), Lightbend
58
63
* Heather Miller ([ @heathermiller ] ( github.com/heathermiller ) ), Scala Center
@@ -64,20 +69,23 @@ Attendees Present:
64
69
* Jorge Vicente Cantero ([ @jvican ] ( github.com/jvican ) ), Process Lead
65
70
66
71
## Guests
72
+
67
73
* Dmitry Petrashko ([ @DarkDimius ] ( github.com/DarkDimius ) ), EPFL (guest)
68
74
69
75
## Proceedings
70
76
### Opening Remarks
77
+
71
78
As acting Process Lead, Jorge Vicente Cantero conducted the meeting, made the
72
79
opening remarks, and introduced the guest Dmitry, who was present to help
73
80
discuss the proposal for an improved lazy val initialization (SIP-20).
74
-
81
+
75
82
### Scala Improvement Proposals
76
83
#### Proposal SIP-25: Trait Parameters proposed by Martin Odersky
84
+
77
85
Adriaan Moors, as the assigned reviewer of this SIP, quickly introduced the
78
86
proposal. The proposal helps to abstract over traits by introducing type
79
87
parameters, a feature that was only possible in classes.
80
-
88
+
81
89
Adriaan points out that it needs a little bit more of work. He generally advises
82
90
to give more details about how the proposed changes interact with other
83
91
features. In concrete, he'd like to know what the modifiers mean, and what would
@@ -86,31 +94,32 @@ should be some guidelines on how the proposal impacts programmers and what
86
94
technical issues are addressed. He thinks that it would be great to see an
87
95
implementation, as the one in Dotty. He considers this proposal is a good
88
96
candidate for 2.13.
89
-
97
+
90
98
Martin and Heather also discuss what the role of a reviewer is. Jorge clarifies
91
99
that technical discussions should take place in the meeting.
92
-
100
+
93
101
** Outcome** : The board agreed to schedule the next iteration of the evaluation
94
102
process in 6 months, since there's no implementation yet and the authors need
95
103
time to produce one.
96
104
97
105
#### Proposal SIP-26: Unsigned Integer Data Types by Denys Shabalin and Sébastien Doeraene
106
+
98
107
Martin is the reviewer of this SIP. He's on the fence of accepting this
99
108
proposal, he would prefer to see it in the platform as a library, since putting
100
109
it in the core would require too much work and he's unsure if that would be a
101
110
priority.
102
-
111
+
103
112
Sébastien, one of the authors, points out that placing it as a library defeats
104
113
the purpose of the SIP (because cooperative equality would not exist), which is
105
114
to allow the native platforms to benefit from it (Scala.js and Scala Native). He
106
115
explains that, in order to make it a library, he would need at least two SIPs to
107
116
make it interact correctly with Scala.js (the value classes formalization is not
108
117
suitable for what he wants to address).
109
-
118
+
110
119
Dmitry, Martin and Sébastien start to discuss about the performance of other
111
120
alternatives that would need to change the the representation of scala number.
112
121
Adriaan and Josh agree that the proposal would be better as a library.
113
-
122
+
114
123
** Outcome** : The board voted; all were in favor of giving it a number. Jorge asks
115
124
the authors to make a PR to the SIP website repo. The next iteration would be in
116
125
September because Sébastien is on vacation in August. He needs to prepare its
@@ -123,19 +132,19 @@ very little) by the unrelated addition of unsigned integers in the codebase.
123
132
Eugene Burmako does a thorough description of the SIP and describes its
124
133
historical background. He roughly talks about the implementation, which uses
125
134
macros, and he's impressed of its quality in the design and implementation.
126
-
135
+
127
136
Other languages like F#, C# and JS have something similar. There's a restriction
128
137
that the functionality cannot be used inside a try catch. Eugene reveals that
129
138
the authors have asked for a timeout to improve the implementation and the
130
139
design. He recommends them to add more documentation as in C# and suggests to
131
140
close it and wait until the authors resubmit it.
132
-
141
+
133
142
Jorge and Heather discuss about what are the differences between postponing and
134
143
marking a SIP as dormant. The idea is that SIPs marked as dormant are the ones
135
144
that have been evaluated, but there hasn’t been any activity in two months.
136
145
Postponing a SIP is done when we know beforehand that some constraints need to
137
146
be resolved before resuming its evaluation.
138
-
147
+
139
148
** Outcome** : The Process Lead postpones it until the authors want to decide to
140
149
revisit the support of async/await in try/catch blocks. When that's considered,
141
150
this SIP should be reopened and and it should see another round of discussion.
@@ -147,7 +156,7 @@ benchmarks and which of the proposals is faster. Dmitry explains that the
147
156
benchmarks are in the repository. Sébastien also points out that there's an
148
157
implementation missing for scalac, and recommends the author to include more
149
158
documentation..
150
-
159
+
151
160
** Outcome** : For the next itearation, the reviewer suggests that the SIP should
152
161
have an updated specification, implementation and benchmarks. The Process Lead
153
162
schedules the next iteration by October 2016.
@@ -159,29 +168,29 @@ language that will not error when commas are placed in concrete valid places. He
159
168
makes the point that it has several benefits; for instance, diffs in github will
160
169
only show one changed line when a new element is added in a list whose elements
161
170
are placed in independent lines.
162
-
171
+
163
172
He also discusses that there are some issues with the interaction of Tuple1 and
164
173
pretty printing. The proposal is minor but addresses day-to-day annoyances.
165
174
Martin fears that this proposal would interfere with another important future
166
175
SIP that will integrate generic programming with Scala. Adriaan doesn't like the
167
176
idea. Josh proposes to unify tuples with other features of the language, like
168
177
parameters lists and the apply methods.
169
-
178
+
170
179
Adriaan wants to wait for the proposal of how to do generics over tuples, and
171
180
integrating hlists with Scala, which he thinks it’s the really important
172
181
proposal.
173
-
182
+
174
183
** Outcome** : 2 people abstain, 3 people vote in favor of it. Josh's connectivity
175
184
drops out, and he's not able to vote. The Process Lead decides to give it a
176
185
number. Authors are asked to prepare for the first iteration of the evaluation
177
186
process in August. This involves exploring interactions with other language
178
187
features by exhaustively enumerating the locations in the grammar where trailing
179
188
commas may be used.
180
-
189
+
181
190
### SLIPs
182
191
Jorge asks the SIP committee to provide feedback to the authors to speed up the
183
192
SLIP process in the future.
184
-
193
+
185
194
* JSON AST: No news from the last discussion in the slip repo. It's been
186
195
integrated into Play and SBT server 1.0. The committee considers that it's a
187
196
prime candidate for the platform.
0 commit comments