8000 Update 2018-09-24-sip-minutes.md · lightsing/scala.github.com@c01286c · GitHub
[go: up one dir, main page]

Skip to content

Commit c01286c

Browse files
authored
Update 2018-09-24-sip-minutes.md
1 parent f1d30f8 commit c01286c

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

_sips/minutes/2018-09-24-sip-minutes.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ simple Scala language specification [more](https://youtu.be/tEb4UF6RJrM?t=916).
9494

9595
#### [“Proposal to remove the procedure Syntax”](https://contributors.scala-lang.org/t/proposal-to-remove-procedure-syntax/2143)
9696

97-
([YouTube time: 16’50’’ - 19.28’’](https://youtu.be/tEb4UF6RJrM?t=1010)
97+
([YouTube time: 16’50’’ - 19.28’’](https://youtu.be/tEb4UF6RJrM?t=1010))
98+
9899
**Jorge** reminds that in the last meeting we agreed that before moving forward with the change we needed:
99100
1. A better motivation
100101
2. A good explanation of why this change promotes the use of types (making it safer)
@@ -103,15 +104,17 @@ simple Scala language specification [more](https://youtu.be/tEb4UF6RJrM?t=916).
103104

104105
**Jorge** then points out that the changes need to be done in order to move
105106
forward, but is asking a Committee to voice their opinion about removing this
106-
feature in Scala 3. **Josh** underlines that there were 2 parts in the debate
107+
feature in Scala 3.
108+
**Josh** underlines that there were 2 parts in the debate
107109
1) Are procedures different than a method, do we want them visually
108-
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.
110+
distinctive?
111+
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.
109112

110113
A decision will be taken into the future when all those items are acted on.
111114

112115
#### [“Proposal to remove early initializers from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-early-initializers-from-the-language/2144)
113116

114-
([YouTube time: 19’29’ - 20’40’’](https://youtu.be/tEb4UF6RJrM?t=1169)
117+
([YouTube time: 19’29’ - 20’40’’](https://youtu.be/tEb4UF6RJrM?t=1169))
115118

116119
### Discussion of the second Scala 3 batch
117120

@@ -144,7 +147,7 @@ and the one they use in other languages like Typescript. **Martin** points
144147
out that performance-wise Scala union types would be more performant because
145148
`T | Null` wouldn't box if `T` is a primitive type.
146149

147-
**Sebastien’s ([YouTube time: 30’03’’](https://youtu.be/tEb4UF6RJrM?t=1803))
150+
**Sebastien’s** ([YouTube time: 30’03’’](https://youtu.be/tEb4UF6RJrM?t=1803))
148151
gives his input based on the fact that Scala.js already has Union Types in
149152
Scala 2. He states that they are very limited; they were introduced for
150153
modeling because some libraries “desperately needed” them but turned out they
@@ -158,6 +161,7 @@ presence of specialization). [More](https://youtu.be/tEb4UF6RJrM?t=1913)
158161
#### [Proposal to add Implicit Function Types to the Language](https://dotty.epfl.ch/docs/reference/implicit-function-types.html)
159162

160163
([YouTube time: 39’01’’ - 43’11’’](https://youtu.be/tEb4UF6RJrM?t=2341))
164+
161165
**Martin** explains what implicit function types are about and points out it's
162166
a pretty “hot” feature that was published in POPL 2018.
163167
He underlines the advantages of implicit function types (like further
@@ -182,6 +186,7 @@ name clash with implicit function types there is a problem indeed.
182186

183187
#### [Proposal to add Dependent Function Types to the Language](https://dotty.epfl.ch/docs/reference/dependent-function-types.html)
184188
([YouTube time: 43’11’’ - 44’40’’](https://youtu.be/tEb4UF6RJrM?t=2591))
189+
185190
**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.
186191
**Adriaan** mentions that the last missing bit is polymorphic function types
187192
and Martin agrees and says that they are looking into that, but maybe not for
@@ -190,6 +195,7 @@ Scala 3.0 (Guillaume Martres is pushing for polymorphic function types).
190195
#### [Proposal to add Trait Parameters to the Language](https://dotty.epfl.ch/docs/reference/trait-parameters.html)
191196

192197
([YouTube time: 44’42’’ - ](https://youtu.be/tEb4UF6RJrM?t=2682))
198+
193199
**Martin** describes trait parameters and says that they subsume a large number of use
194200
cases of early initializers. They were not added to Scala 2 because of
195201
uncertainty in the way they would work with regards to linearization and
@@ -205,7 +211,8 @@ initializers and see if trait parameters allow him to replace them. He's
205211
curious about how clean would the code look after the change.
206212

207213
**Jorge** then wraps up the meeting, points out how feedback on these
208-
*proposals would work (check the following link
209-
*https://contributors.scala-lang.org/t/second-batch-of-scala-3-sips-additions-to-scalas-type-system/2376)
210-
*and finalizes the discussion.
214+
proposals would work (check the following link
215+
*https://contributors.scala-lang.org/t/second-batch-of-scala-3-sips-additions-to-scalas-type-system/2376*)
216+
and finalizes the discussion.
211217

218+
**Conclusion** Next meeting will be dedicated to the Second Batch disscusion.

0 commit comments

Comments
 (0)
0