From fb391ac0a051c09a988a4b4d8d87293349b30ff8 Mon Sep 17 00:00:00 2001 From: jvican Date: Tue, 16 Aug 2016 11:38:31 +0200 Subject: [PATCH 1/5] Add minutes for 10th August SIP Meeting --- sips/minutes/_posts/2016-08-16-sip-minutes.md | 184 ++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 sips/minutes/_posts/2016-08-16-sip-minutes.md diff --git a/sips/minutes/_posts/2016-08-16-sip-minutes.md b/sips/minutes/_posts/2016-08-16-sip-minutes.md new file mode 100644 index 0000000000..2de76cc4b1 --- /dev/null +++ b/sips/minutes/_posts/2016-08-16-sip-minutes.md @@ -0,0 +1,184 @@ +--- +layout: sip-landing +title: SIP Meeting Minutes - 10th August 2016 +--- + +# Minutes + +The following agenda was distributed to attendees: + +| Topic | Reviewer | +| --- | --- | +| [SIP-12: Uncluttering Scala's syntax for control structures](http://docs.scala-lang.org/sips/pending/uncluttering-control.html) | Seth Tisue | +| [SIP-16: Self-cleaning macros](http://docs.scala-lang.org/sips/pending/self-cleaning-macros.html) | Eugene Burmako | +| [SIP-21: Spores](http://docs.scala-lang.org/sips/pending/spores.html) | Martin Odersky | +| [SIP-23: Literal-based singleton types](http://docs.scala-lang.org/sips/pending/42.type.html) | Adriaan Moors | +| [SIP-24: Repeated by-name parameters](http://docs.scala-lang.org/sips/pending/repeated-byname.html) | Andrew Marki | +| [SIP-27: Trailing commas](https://github.com/scala/scala.github.com/pull/533#issuecomment-232959066) | Eugene Burmako | + +Jorge Vicente Cantero was the Process Lead and acting secretary of the meeting. + +The following proposals were rejected: + +* SIP-12: Uncluttering Scala's syntax for control structures +* SIP-16: Self-cleaning macros + +## Date, Time and Location + +The meeting took place at 5:15pm Central European Time / 8:15am Pacific Daylight +Time on Wednesday, July 13th, 2016 via Google Hangouts. + +Minutes were taken by Jorge Vicente Cantero, acting secretary. + +## Attendees + +Attendees Present: + +* Seth Tisue ([@SethTisue](github.com/SethTisue)), EPFL +* Adriaan Moors ([@adriaanm](github.com/adriaanm)), Lightbend +* Heather Miller ([@heathermiller](github.com/heathermiller)), Scala Center +* Eugene Burmako ([@xeno-by](github.com/xeno-by)), EPFL +* Andrew Marki ([@som-snytt](github.com/som-snytt)), independent +* Josh Suereth ([@jsuereth](github.com/jsuereth)), Google +* Jorge Vicente Cantero ([@jvican](github.com/jvican)), Process Lead + +## Apologies + +* Martin Odersky ([@odersky](github.com/odersky)), EPFL +* Sébastien Doeraene ([@sjrd](github.com/sjrd)), EPFL + +## Proceedings +### Opening Remarks + +As acting Process Lead, Jorge Vicente Cantero conducted the meeting, and made +some opening remarks: + +* No abstentions are allowed, abstentions count as 'no's. + +* The quorum is 2/3 out of the committee. The quorum for this meeting is + reached. + +### Discussion of SIP-12: Uncluttering Scala's syntax for control structures + +The original proposer Martin Odersky is not present, so he can't weigh in. Seth +Tisue presents the main points of his review and kick starts the discussion. + +Seth Tisue presents the main points of his review: + +* There is no clear consensus that this change is desirable. +* The major downsides are that it makes Scala look and feel noticeably less +like Java and other C-like languages, there is significant migration pain for +users would be involved, and it's unclear that the actual benefits of the +change are really that big. + +Seth also points out that the community isn't really clamoring this change, +there seems to be no interest. + +In the ensuing discussion, there is a bit of confusion over whether the old +syntax would continue to be supported, and if so, if adding more ways to +express the same thing is bad. The proposal recommends supporting the old +syntax temporarily, and deprecated it after some concrete period. + +The Committee sees no added value in the proposal, and all seem to be against +it. Adriaan wants only one way to do things, and avoid diversity of syntax +options. Josh points out that sometimes second ways for specifying constructs +are useful in concrete scenarios, but not in this one. Andrew proposes to put +the feature under -Y as a starting point. Heather questions the utility of such +a syntax change. The committee discusses about the parens and braces +differences. + +Jorge and Josh point out that in addition to the obvious migration pain of +users needing to update their code, there would be pain for the makers of tools +such as IDEs and the proposed code-rewriting tool. Adriaan says that even if an +automatic code-writing tool existed, you still have the universal pain of +having the needed changes cluttering up the version control history of every +Scala project. + +**Outcome**: The committee votes unanimously to reject the change. The +conclusion is that there is not a clear benefit for it and the required +invested time and efforts would be too high. + +### Discussion of SIP-16: Self-cleaning macros + +Eugene Burmako, reviewer and author of the proposal, acknowledges the value of +macros in the language and how useful they are for the Scala community to build +their tools and frameworks. He thinks that macros have been a successful +experiment, but one that needs to end. He then points out some of the issues +with macros (IDE support and dependency on Scala Reflection, which he considers +overdesigned). + +As these are problems in the very foundations of the macros, he proposes to +reject the SIP and commits to write up a new proposal based on [Scala +Meta](http://scalameta.org/), the successor of the old Scala macros, redesigned +from the ground up to overcome the current metaprogramming shortcomings. + +Josh agrees that macros are super useful but, as in their existing form, 'not +really what we want long-term'. The Committee discusses how to announce this +decision, Adriaan is worried that people will that that macros are going away. +Everybody agrees that the communication of this decision should be carefully +made. + +Andrew proposes to use the same number proposal for the upcoming Scala Meta +proposal. Jorge thinks that it would make more sense to create a new proposal +with a new number, since they are going to greatly differ. + +**Outcome**: The board votes and the proposal is therefore rejected +unanimously. A new Scala Meta proposal is coming soon. + +### Discussion of SIP-27: Trailing Commas + +Eugene Burmako thanks Dale, the author of the proposal, by the provided +feedback from the last meeting's discussion. He did a detailed analysis of the +required feature interaction for trailing commas. Eugene explains the concerns +of the last meeting and encourages the Committee to have a look at the recent +comments provided by Martin on the GitHub discussion. + +Heather reads Martin's reply. Martin says that we need to be careful with this +proposal, because it could disable future support for `HList`s (heterogeneous +lists, tuples of unbounded sizes). This proposal is of primary concern for both +Martin and other people in the Committee. He proposes to accept trailing +commas just in tuples to avoid overshooting. + +Adriaan points out that this is a problem that IDEs should solve, not the +design of programming languages. He doesn't share the motivation of this +change. Seth says that it's not worth it to accept this change only in tuples, +because the major benefit would come in parameter lists. Andrew says that it +would also be important to adopt trailing commas in import syntax and agrees +with Adriaan. + +Josh wants trailing commas, but if he needs to judge his utility he wants to +know more about the HList proposal. He also thinks that including this change +would be a huge win for sbt. Adriaan proposes to include trailing commas only +in sbt, instead of the Scala parser. Josh states it's physically possible, but +he's not sure the sbt team would welcome such change. + +The Committee engages in more discussion about how cherry-pick parts of the +proposal or study it further. + +**Conclusion**: The Committee asks Dale to explicitly summarize the potential +conflicts with tuple syntax, review the initial [HList proposal in +Dotty](https://github.com/lampepfl/dotty/issues/964) to figure out potential +conflicts with the proposal. Eugene also proposes Dale to consider whether the +Committee can salvage non-controversial parts of this proposal and reduce this +SIP just to them, as well as discussing the utility of having two ways of doing +the same thing. + +### Discussion of SIP-23: Singleton literal-based types + +Adriaan explains what the proposal is about. He's happy that George Leontiev's +proposal is getting to the finish line by Miles. He wants to decouple more the +design of the proposal and the implementation, e.g. removing implementation +details in the proposal. Adriaan will also want the authors to better work out +the interaction with other Scala features, like the equality against the `Any` +type, `asInstanceOf` and `isInstanceOf`. He points out that quasiquotes should +also be addressed. + +Josh needs to leave the meeting and transfers his vote to Adriaan. The +Committee agrees to put this under review for the next meeting. + +**Outcome**: The proposal is under review until the next meeting. Adriaan asks +the authors to separate the spec and the implementation and address some +technical issues in the current implementation. + +## Closing remarks +See you next time! From 673322d51f55590c29ce1f631fc7e7ff750a3c63 Mon Sep 17 00:00:00 2001 From: jvican Date: Tue, 16 Aug 2016 11:50:36 +0200 Subject: [PATCH 2/5] Rename minutes file --- ...08-16-sip-minutes.md => 2016-08-16-sip-10th-august-minutes.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sips/minutes/_posts/{2016-08-16-sip-minutes.md => 2016-08-16-sip-10th-august-minutes.md} (100%) diff --git a/sips/minutes/_posts/2016-08-16-sip-minutes.md b/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md similarity index 100% rename from sips/minutes/_posts/2016-08-16-sip-minutes.md rename to sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md From b257a250a6fdf3da5fba020168e72b3dc7f1c020 Mon Sep 17 00:00:00 2001 From: jvican Date: Tue, 16 Aug 2016 11:55:48 +0200 Subject: [PATCH 3/5] Add link to minutes in the SIPs index --- sips/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/sips/index.md b/sips/index.md index 6979856a78..d70e8e8845 100644 --- a/sips/index.md +++ b/sips/index.md @@ -51,3 +51,4 @@ more information. ## Minutes * [SIP Meeting July 13th](./minutes/sip-minutes.html) +* [SIP Meeting August 10th](./minutes/sip-10th-august-minutes.html) From 6e6377d96b2a5a52f7f28fc302ad9e4647aee6cd Mon Sep 17 00:00:00 2001 From: jvican Date: Tue, 16 Aug 2016 14:24:04 +0200 Subject: [PATCH 4/5] Add final tweaks in the minutes --- .../2016-08-16-sip-10th-august-minutes.md | 56 ++++++++++--------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md b/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md index 2de76cc4b1..2effe04ee6 100644 --- a/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md +++ b/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md @@ -23,6 +23,11 @@ The following proposals were rejected: * SIP-12: Uncluttering Scala's syntax for control structures * SIP-16: Self-cleaning macros +The following proposals will have a follow-up evaluation: + +* SIP-23: Literal-based singleton types +* SIP-27: Trailing commas + ## Date, Time and Location The meeting took place at 5:15pm Central European Time / 8:15am Pacific Daylight @@ -67,7 +72,7 @@ Seth Tisue presents the main points of his review: * There is no clear consensus that this change is desirable. * The major downsides are that it makes Scala look and feel noticeably less -like Java and other C-like languages, there is significant migration pain for +like Java and other C-like languages, significant migration pain for users would be involved, and it's unclear that the actual benefits of the change are really that big. @@ -77,15 +82,15 @@ there seems to be no interest. In the ensuing discussion, there is a bit of confusion over whether the old syntax would continue to be supported, and if so, if adding more ways to express the same thing is bad. The proposal recommends supporting the old -syntax temporarily, and deprecated it after some concrete period. +syntax temporarily, and deprecate it after some concrete period. The Committee sees no added value in the proposal, and all seem to be against it. Adriaan wants only one way to do things, and avoid diversity of syntax -options. Josh points out that sometimes second ways for specifying constructs -are useful in concrete scenarios, but not in this one. Andrew proposes to put -the feature under -Y as a starting point. Heather questions the utility of such -a syntax change. The committee discusses about the parens and braces -differences. +options. Josh points out that second ways for specifying constructs +are useful under concrete scenarios, but not in this one. Andrew proposes to put +the feature under -Y (experimental flag) as a starting point. Heather questions +the utility of such a syntax change. The committee discusses about the parens +and braces differences. Jorge and Josh point out that in addition to the obvious migration pain of users needing to update their code, there would be pain for the makers of tools @@ -105,30 +110,30 @@ macros in the language and how useful they are for the Scala community to build their tools and frameworks. He thinks that macros have been a successful experiment, but one that needs to end. He then points out some of the issues with macros (IDE support and dependency on Scala Reflection, which he considers -overdesigned). +overdesigned for its purpose). -As these are problems in the very foundations of the macros, he proposes to +As these are problems present in the very foundations of macros, he proposes to reject the SIP and commits to write up a new proposal based on [Scala Meta](http://scalameta.org/), the successor of the old Scala macros, redesigned from the ground up to overcome the current metaprogramming shortcomings. -Josh agrees that macros are super useful but, as in their existing form, 'not -really what we want long-term'. The Committee discusses how to announce this -decision, Adriaan is worried that people will that that macros are going away. -Everybody agrees that the communication of this decision should be carefully -made. +Josh agrees that macros are very useful but, as in their existing form, not +really what the Committee wants long-term. The Committee discusses how to +announce this decision, Adriaan is worried that people will believe that macros +are going away. Everybody agrees that the communication of this decision should +be made carefully. Andrew proposes to use the same number proposal for the upcoming Scala Meta proposal. Jorge thinks that it would make more sense to create a new proposal -with a new number, since they are going to greatly differ. +with a new number, since they will greatly differ in design. -**Outcome**: The board votes and the proposal is therefore rejected -unanimously. A new Scala Meta proposal is coming soon. +**Outcome**: The board votes and the proposal is therefore rejected unanimously. +A new Scala Meta proposal is coming soon. ### Discussion of SIP-27: Trailing Commas Eugene Burmako thanks Dale, the author of the proposal, by the provided -feedback from the last meeting's discussion. He did a detailed analysis of the +feedback from the last meeting's discussion. Dale did a detailed analysis of the required feature interaction for trailing commas. Eugene explains the concerns of the last meeting and encourages the Committee to have a look at the recent comments provided by Martin on the GitHub discussion. @@ -158,7 +163,7 @@ proposal or study it further. **Conclusion**: The Committee asks Dale to explicitly summarize the potential conflicts with tuple syntax, review the initial [HList proposal in Dotty](https://github.com/lampepfl/dotty/issues/964) to figure out potential -conflicts with the proposal. Eugene also proposes Dale to consider whether the +conflicts with his proposal. Eugene also proposes Dale to consider whether the Committee can salvage non-controversial parts of this proposal and reduce this SIP just to them, as well as discussing the utility of having two ways of doing the same thing. @@ -167,14 +172,15 @@ the same thing. Adriaan explains what the proposal is about. He's happy that George Leontiev's proposal is getting to the finish line by Miles. He wants to decouple more the -design of the proposal and the implementation, e.g. removing implementation -details in the proposal. Adriaan will also want the authors to better work out -the interaction with other Scala features, like the equality against the `Any` -type, `asInstanceOf` and `isInstanceOf`. He points out that quasiquotes should -also be addressed. +design and implementation of the proposal, e.g. removing implementation details +in the original SIP. Adriaan will also want the authors to better work out the +interaction with other Scala features, like the equality against the `Any` type, +and `asInstanceOf`. He points out that quasiquotes should eventually be +addressed. Josh needs to leave the meeting and transfers his vote to Adriaan. The -Committee agrees to put this under review for the next meeting. +Committee agrees to put this under review for the next meeting, waiting for the +author's feedback. **Outcome**: The proposal is under review until the next meeting. Adriaan asks the authors to separate the spec and the implementation and address some From 23b3726454d421f34cca4f789c40bb703e9acb42 Mon Sep 17 00:00:00 2001 From: jvican Date: Tue, 16 Aug 2016 14:26:18 +0200 Subject: [PATCH 5/5] Add more resources in the minutes --- sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md b/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md index 2effe04ee6..aaeddb11c0 100644 --- a/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md +++ b/sips/minutes/_posts/2016-08-16-sip-10th-august-minutes.md @@ -184,7 +184,8 @@ author's feedback. **Outcome**: The proposal is under review until the next meeting. Adriaan asks the authors to separate the spec and the implementation and address some -technical issues in the current implementation. +technical issues in the current implementation. More information on Adriaan's +review can be found in [the original GitHub proposal](https://github.com/scala/scala.github.com/pull/346#issuecomment-240029772). ## Closing remarks See you next time!