You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _sips/minutes/2018-09-24-sip-minutes.md
+158Lines changed: 158 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -45,3 +45,161 @@ Minutes were taken by Darja Jovanovic.
45
45
46
46
## Not present
47
47
* Heather Miller ([@heathermiller](https://github.com/heathermiller)), CMU
48
+
49
+
## Proceedings
50
+
### Opening Remarks
51
+
52
+
Jorge opens the meeting, explains SIP dynamics:
53
+
Finalising discussion about the 1st batch, action points
54
+
Introducing batch two
55
+
Decision / voting / postponing the discussion
56
+
57
+
### Discussion of the first Scala 3 batch
58
+
59
+
#### [“Proposal to remove XML literals from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-xml-literals-from-the-language/2146)
60
+
([YouTube time 3’ - 16’50’’](https://youtu.be/gnlL4PlstFY?t=891))
61
+
**Sébastien** suggests to postpone the removal of XML and Procedure syntax, because when
62
+
the removal takes place it will be a code breaking change, not a binary or
63
+
tasty one. Adds it would be better to focus on changes that have an impact on
64
+
tasty and binary format and deal with these later.
65
+
**Seth** 4’54 https://youtu.be/tEb4UF6RJrM?t=294 suggests to have a warning
66
+
notes that it will eventually be removed.
67
+
**Eugene** asks what would be the positive effect of that change? And that we
68
+
need to vote on it first.
69
+
**Iulian** asks what are the promises with regards to binary-compatible and
70
+
source-compatible releases in Scala 3. To him it looks weird that we could
71
+
break the source between 3.0 and 3.1.
72
+
**Josh** notes that by enforcing binary compatibility across Scala 2 and Scala
73
+
3 we are sacrificing source compatibility. He asks for this decision to be
74
+
more thought over as it is a big decision with lots of impact for Scala
75
+
tooling. He agrees we can make source-breaking releases nicer to use in
76
+
source-based build tools like Pants or Bazel, but trading off binary
77
+
compatibility by source compatibility is not a decision to take lightly [more](
78
+
https://youtu.be/tEb4UF6RJrM?t=612).
79
+
**Martin** thinks that no matter what trade-offs we do with regards to
80
+
compatibility, he'd like to be able to remove XML literals in the first
81
+
release of Scala 3.0 because having the XML spec inside the Scala spec gives
82
+
a bad impression of complexity of the language, where he believes Scala is
83
+
instead a more lightweight language than its competitors. There is no way he
84
+
can make this argument if the XML spec continues to be in the relatively
85
+
simple Scala language specification [more](https://youtu.be/tEb4UF6RJrM?t=916).
86
+
87
+
(The discussion with regards to binary compatibility and source compatibility trade-offs is postponed.)
88
+
89
+
#### [“Proposal to remove the procedure Syntax”](https://contributors.scala-lang.org/t/proposal-to-remove-procedure-syntax/2143)
**Jorge** reminds that in the last meeting we agreed that before moving forward with the change we needed:
93
+
1. A better motivation
94
+
2. A good explanation of why this change promotes the use of types (making it safer)
95
+
3. A removal of the examples that were misleading
96
+
4. A link to a Scalafix rewrite that could make a migration.
97
+
98
+
**Jorge** then points out that the changes need to be done in order to move
99
+
forward, but is asking a Committee to voice their opinion about removing this
100
+
feature in Scala 3. **Josh** underlines that there were 2 parts in the debate
101
+
1) Are procedures different than a method, do we want them visually
102
+
distinctive? 2) Other issues listed by **Jorge** above. In particular, the fact that we want people to explicitly annotate the unit in their methods because it makes code more readable.
103
+
104
+
A decision will be taken into the future when all those items are acted on.
105
+
106
+
#### [“Proposal to remove early initializers from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-early-initializers-from-the-language/2144)
An overview of the second batch can be found [in this Scala Contributors thread](https://contributors.scala-lang.org/t/second-batch-of-scala-3-sips-additions-to-scalas-type-system/2376). The batches under discussion are:
Feedback on these proposals is open until the 25th October 2018, as describe
121
+
in the linked Scala Contributors thread.
122
+
123
+
#### [Proposal to add Intersection Types](https://dotty.epfl.ch/docs/reference/intersection-types.html) and [Union Types](https://dotty.epfl.ch/docs/reference/union-types.html) to the language
**Martin** mentions that dependent function types is the last big addition to Scala's type checker. The reason why they are added is because Scala has dependent methods and there is a need for dependent functions (the same rationale has been doing with regards to implicit methods and implicit function types). It's an obvious win because dependent function types allow us to abstract over the idea of implicit methods in functions, so the more we can do the better. Initially he was afraid of the feature because he thought it violated this Scala principle that in the end anything is an instance of a class in some way and it turned out that a new encoding of dependent function types made this initial argument moot. Dependent function types are now encoded as implicit function types with type refinements, so this way it doesn't violate that principle.
180
+
**Adriaan** mentions that the last missing bit is polymorphic function types
181
+
and Martin agrees and says that they are looking into that, but maybe not for
182
+
Scala 3.0 (Guillaume Martres is pushing for polymorphic function types).
183
+
184
+
#### [Proposal to add Trait Parameters to the Language](https://dotty.epfl.ch/docs/reference/trait-parameters.html)
0 commit comments