Skip to content

Commit b800ced

Browse files
authored
Merge pull request #556 from jvican/august-minutes-sip
Add minutes for 10th August SIP meeting
2 parents b04afe6 + 23b3726 commit b800ced

File tree

2 files changed

+192
-0
lines changed

2 files changed

+192
-0
lines changed

sips/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,4 @@ more information.
5151
## Minutes
5252

5353
* [SIP Meeting July 13th](./minutes/sip-minutes.html)
54+
* [SIP Meeting August 10th](./minutes/sip-10th-august-minutes.html)
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
---
2+
layout: sip-landing
3+
title: SIP Meeting Minutes - 10th August 2016
4+
---
5+
6+
# Minutes
7+
8+
The following agenda was distributed to attendees:
9+
10+
| Topic | Reviewer |
11+
| --- | --- |
12+
| [SIP-12: Uncluttering Scala's syntax for control structures](http://docs.scala-lang.org/sips/pending/uncluttering-control.html) | Seth Tisue |
13+
| [SIP-16: Self-cleaning macros](http://docs.scala-lang.org/sips/pending/self-cleaning-macros.html) | Eugene Burmako |
14+
| [SIP-21: Spores](http://docs.scala-lang.org/sips/pending/spores.html) | Martin Odersky |
15+
| [SIP-23: Literal-based singleton types](http://docs.scala-lang.org/sips/pending/42.type.html) | Adriaan Moors |
16+
| [SIP-24: Repeated by-name parameters](http://docs.scala-lang.org/sips/pending/repeated-byname.html) | Andrew Marki |
17+
| [SIP-27: Trailing commas](https://github.com/scala/scala.github.com/pull/533#issuecomment-232959066) | Eugene Burmako |
18+
19+
Jorge Vicente Cantero was the Process Lead and acting secretary of the meeting.
20+
21+
The following proposals were rejected:
22+
23+
* SIP-12: Uncluttering Scala's syntax for control structures
24+
* SIP-16: Self-cleaning macros
25+
26+
The following proposals will have a follow-up evaluation:
27+
28+
* SIP-23: Literal-based singleton types
29+
* SIP-27: Trailing commas
30+
31+
## Date, Time and Location
32+
33+
The meeting took place at 5:15pm Central European Time / 8:15am Pacific Daylight
34+
Time on Wednesday, July 13th, 2016 via Google Hangouts.
35+
36+
Minutes were taken by Jorge Vicente Cantero, acting secretary.
37+
38+
## Attendees
39+
40+
Attendees Present:
41+
42+
* Seth Tisue ([@SethTisue](github.com/SethTisue)), EPFL
43+
* Adriaan Moors ([@adriaanm](github.com/adriaanm)), Lightbend
44+
* Heather Miller ([@heathermiller](github.com/heathermiller)), Scala Center
45+
* Eugene Burmako ([@xeno-by](github.com/xeno-by)), EPFL
46+
* Andrew Marki ([@som-snytt](github.com/som-snytt)), independent
47+
* Josh Suereth ([@jsuereth](github.com/jsuereth)), Google
48+
* Jorge Vicente Cantero ([@jvican](github.com/jvican)), Process Lead
49+
50+
## Apologies
51+
52+
* Martin Odersky ([@odersky](github.com/odersky)), EPFL
53+
* Sébastien Doeraene ([@sjrd](github.com/sjrd)), EPFL
54+
55+
## Proceedings
56+
### Opening Remarks
57+
58+
As acting Process Lead, Jorge Vicente Cantero conducted the meeting, and made
59+
some opening remarks:
60+
61+
* No abstentions are allowed, abstentions count as 'no's.
62+
63+
* The quorum is 2/3 out of the committee. The quorum for this meeting is
64+
reached.
65+
66+
### Discussion of SIP-12: Uncluttering Scala's syntax for control structures
67+
68+
The original proposer Martin Odersky is not present, so he can't weigh in. Seth
69+
Tisue presents the main points of his review and kick starts the discussion.
70+
71+
Seth Tisue presents the main points of his review:
72+
73+
* There is no clear consensus that this change is desirable.
74+
* The major downsides are that it makes Scala look and feel noticeably less
75+
like Java and other C-like languages, significant migration pain for
76+
users would be involved, and it's unclear that the actual benefits of the
77+
change are really that big.
78+
79+
Seth also points out that the community isn't really clamoring this change,
80+
there seems to be no interest.
81+
82+
In the ensuing discussion, there is a bit of confusion over whether the old
83+
syntax would continue to be supported, and if so, if adding more ways to
84+
express the same thing is bad. The proposal recommends supporting the old
85+
syntax temporarily, and deprecate it after some concrete period.
86+
87+
The Committee sees no added value in the proposal, and all seem to be against
88+
it. Adriaan wants only one way to do things, and avoid diversity of syntax
89+
options. Josh points out that second ways for specifying constructs
90+
are useful under concrete scenarios, but not in this one. Andrew proposes to put
91+
the feature under -Y (experimental flag) as a starting point. Heather questions
92+
the utility of such a syntax change. The committee discusses about the parens
93+
and braces differences.
94+
95+
Jorge and Josh point out that in addition to the obvious migration pain of
96+
users needing to update their code, there would be pain for the makers of tools
97+
such as IDEs and the proposed code-rewriting tool. Adriaan says that even if an
98+
automatic code-writing tool existed, you still have the universal pain of
99+
having the needed changes cluttering up the version control history of every
100+
Scala project.
101+
102+
**Outcome**: The committee votes unanimously to reject the change. The
103+
conclusion is that there is not a clear benefit for it and the required
104+
invested time and efforts would be too high.
105+
106+
### Discussion of SIP-16: Self-cleaning macros
107+
108+
Eugene Burmako, reviewer and author of the proposal, acknowledges the value of
109+
macros in the language and how useful they are for the Scala community to build
110+
their tools and frameworks. He thinks that macros have been a successful
111+
experiment, but one that needs to end. He then points out some of the issues
112+
with macros (IDE support and dependency on Scala Reflection, which he considers
113+
overdesigned for its purpose).
114+
115+
As these are problems present in the very foundations of macros, he proposes to
116+
reject the SIP and commits to write up a new proposal based on [Scala
117+
Meta](http://scalameta.org/), the successor of the old Scala macros, redesigned
118+
from the ground up to overcome the current metaprogramming shortcomings.
119+
120+
Josh agrees that macros are very useful but, as in their existing form, not
121+
really what the Committee wants long-term. The Committee discusses how to
122+
announce this decision, Adriaan is worried that people will believe that macros
123+
are going away. Everybody agrees that the communication of this decision should
124+
be made carefully.
125+
126+
Andrew proposes to use the same number proposal for the upcoming Scala Meta
127+
proposal. Jorge thinks that it would make more sense to create a new proposal
128+
with a new number, since they will greatly differ in design.
129+
130+
**Outcome**: The board votes and the proposal is therefore rejected unanimously.
131+
A new Scala Meta proposal is coming soon.
132+
133+
### Discussion of SIP-27: Trailing Commas
134+
135+
Eugene Burmako thanks Dale, the author of the proposal, by the provided
136+
feedback from the last meeting's discussion. Dale did a detailed analysis of the
137+
required feature interaction for trailing commas. Eugene explains the concerns
138+
of the last meeting and encourages the Committee to have a look at the recent
139+
comments provided by Martin on the GitHub discussion.
140+
141+
Heather reads Martin's reply. Martin says that we need to be careful with this
142+
proposal, because it could disable future support for `HList`s (heterogeneous
143+
lists, tuples of unbounded sizes). This proposal is of primary concern for both
144+
Martin and other people in the Committee. He proposes to accept trailing
145+
commas just in tuples to avoid overshooting.
146+
147+
Adriaan points out that this is a problem that IDEs should solve, not the
148+
design of programming languages. He doesn't share the motivation of this
149+
change. Seth says that it's not worth it to accept this change only in tuples,
150+
because the major benefit would come in parameter lists. Andrew says that it
151+
would also be important to adopt trailing commas in import syntax and agrees
152+
with Adriaan.
153+
154+
Josh wants trailing commas, but if he needs to judge his utility he wants to
155+
know more about the HList proposal. He also thinks that including this change
156+
would be a huge win for sbt. Adriaan proposes to include trailing commas only
157+
in sbt, instead of the Scala parser. Josh states it's physically possible, but
158+
he's not sure the sbt team would welcome such change.
159+
160+
The Committee engages in more discussion about how cherry-pick parts of the
161+
proposal or study it further.
162+
163+
**Conclusion**: The Committee asks Dale to explicitly summarize the potential
164+
conflicts with tuple syntax, review the initial [HList proposal in
165+
Dotty](https://github.com/lampepfl/dotty/issues/964) to figure out potential
166+
conflicts with his proposal. Eugene also proposes Dale to consider whether the
167+
Committee can salvage non-controversial parts of this proposal and reduce this
168+
SIP just to them, as well as discussing the utility of having two ways of doing
169+
the same thing.
170+
171+
### Discussion of SIP-23: Singleton literal-based types
172+
173+
Adriaan explains what the proposal is about. He's happy that George Leontiev's
174+
proposal is getting to the finish line by Miles. He wants to decouple more the
175+
design and implementation of the proposal, e.g. removing implementation details
176+
in the original SIP. Adriaan will also want the authors to better work out the
177+
interaction with other Scala features, like the equality against the `Any` type,
178+
and `asInstanceOf`. He points out that quasiquotes should eventually be
179+
addressed.
180+
181+
Josh needs to leave the meeting and transfers his vote to Adriaan. The
182+
Committee agrees to put this under review for the next meeting, waiting for the
183+
author's feedback.
184+
185+
**Outcome**: The proposal is under review until the next meeting. Adriaan asks
186+
the authors to separate the spec and the implementation and address some
187+
technical issues in the current implementation. More information on Adriaan's
188+
review can be found in [the original GitHub proposal](https://github.com/scala/scala.github.com/pull/346#issuecomment-240029772).
189+
190+
## Closing remarks
191+
See you next time!

0 commit comments

Comments
 (0)