Skip to content

Commit 62ae2a5

Browse files
authored
Update 2018-08-30-sip-minutes.md
1 parent 777c415 commit 62ae2a5

File tree

1 file changed

+57
-37
lines changed

1 file changed

+57
-37
lines changed

_sips/minutes/2018-08-30-sip-minutes.md

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,20 @@ Minutes were taken by Darja Jovanovic.
5151
### Opening Remarks
5252

5353
**Jorge** opens the meeting, explains SIP dynamics:
54+
5455
Selected batches (proposals for language change in Scala 3) are published on Contributors
56+
5557
Community has 1 month deadline to discuss the proposals
58+
5659
Committee summarises the comments and discusses during the meeting
60+
5761
Decision / voting / postponing the discussion
5862

59-
[More in May 2018 minutes](https://docs.scala-lang.org/sips/minutes/2018-05-18-sip-minutes.html)]
63+
[More in May 2018 minutes](https://docs.scala-lang.org/sips/minutes/2018-05-18-sip-minutes.html)
6064

6165
### Summaries of discussions of the First Scala 3 batch
6266

63-
###[“Proposal to remove auto application from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-auto-application-from-the-language/2145)
67+
### [“Proposal to remove auto application from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-auto-application-from-the-language/2145)
6468
([YouTube time: 2’15’’ - 11’22’’ ](https://youtu.be/gnlL4PlstFY?t=136))
6569

6670
**Miles Sabin** summarised discussion on Contributors thread.
@@ -142,47 +146,63 @@ Summary:
142146

143147
**Conclusion** **Jorge** takes the task to merge the proposals and extend the motivation.
144148

145-
**Sébastien** [YouTube time” 14’53’ - 40’10’’](https://youtu.be/gnlL4PlstFY?t=891) summarised discussion on Contributors thread [“Proposal to remove XML literals from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-xml-literals-from-the-language/2146)
149+
150+
### [“Proposal to remove XML literals from the language”](https://contributors.scala-lang.org/t/proposal-to-remove-xml-literals-from-the-language/2146)
151+
152+
**Sébastien** [YouTube time” 14’53’ - 40’10’’](https://youtu.be/gnlL4PlstFY?t=891) summarised discussion on Contributors thread.
153+
146154
Summary:
147-
In favor of the removal
148-
Significant language specification weight, as well as compiler implementation. The whole XML spec must be embedded in Scala!
149-
scala-xml is very complicated, and has serious usability problems
150-
Adding the extra xml"""...""" shouldn’t be a bother
151-
For JSX-style support, maybe a jsx"" interpolator could have the same semantics as JSX, rather than that of scala-xml
152-
Direct language support for XML only existed because string interpolators did not exist back then (supposedly). It seems to be an obviously better design to build on string interpolators.
153-
Removes XML as a special case. With interpolators, one can embed arbitrary languages within Scala.
154-
Similar argument: XML should have no higher place in the language than YAML, JSON, etc.
155-
JSX-style use cases should use ScalaTags-style libraries anyway.
156-
XML being part of the language is the reason that XML libraries have stalled, and that JSON ones have flourished
157-
Counter-argument: lib stalling is due to the “symbol”-based translation. A name-based translation would not have this issue.
155+
156+
In favor of the removal:
157+
158+
- Significant language specification weight, as well as compiler implementation. The whole XML spec must be embedded in Scala!
159+
160+
- scala-xml is very complicated, and has serious usability problems
161+
162+
- Adding the extra xml"""...""" shouldn’t be a bother
163+
- For JSX-style support, maybe a jsx"" interpolator could have the same semantics as JSX, rather than that of scala-xml
164+
- Direct language support for XML only existed because string interpolators did not exist back then (supposedly). It seems to be an obviously better design to build on string interpolators.
165+
- Removes XML as a special case. With interpolators, one can embed arbitrary languages within Scala.
166+
- Similar argument: XML should have no higher place in the language than YAML, JSON, etc.
167+
- JSX-style use cases should use ScalaTags-style libraries anyway.
168+
- XML being part of the language is the reason that XML libraries have stalled, and that JSON ones have flourished
169+
- Counter-argument: lib stalling is due to the “symbol”-based translation. A name-based translation would not have this issue.
170+
158171
Against the removal
159-
Difficulty of syntax highlighting
160-
Shouldn’t be a real issue as long as editors are on board
161-
The promised XML interpolator was never materialized
162-
JSX is now in widespread use in languages for front-end development. It is ironic that Scala would drop support for a similar feature now. It is even built in some languages, e.g., TypeScript.
163-
JSX is simpler than scala-xml, though: no namespace support, in particular.
164-
For front-end devs looking at Scala/Scala.js, string interpolators will look horrible compared to JSX, and it might be one of those “no-no” things that will push them away.
165-
Being able to just copy-paste examples from the Net is nice. (8 Likes on this one)
166-
No one uses XML anymore, right?
167-
Some answer that they do. Especially in non-greenfield projects.
168-
Kojo uses XML literals as building blocks for the Storytelling feature.
172+
173+
- Difficulty of syntax highlighting
174+
- Shouldn’t be a real issue as long as editors are on board
175+
- The promised XML interpolator was never materialized
176+
- JSX is now in widespread use in languages for front-end development. It is ironic that Scala would drop support for a similar feature now. It is even built in some languages, e.g., TypeScript.
177+
- JSX is simpler than scala-xml, though: no namespace support, in particular.
178+
- For front-end devs looking at Scala/Scala.js, string interpolators will look horrible compared to JSX, and it might be one of those “no-no” things that will push them away.
179+
- Being able to just copy-paste examples from the Net is nice. (8 Likes on this one)
180+
- No one uses XML anymore, right?
181+
- Some answer that they do. Especially in non-greenfield projects.
182+
- Kojo uses XML literals as building blocks for the Storytelling feature.
183+
169184
Counter-proposal
185+
170186
Named-based XML desugaring: https://contributors.scala-lang.org/t/pre-sip-name-based-xml-literals/2175
171-
Less complexity in the language/compiler
172-
Open for library competition
173-
Compared to a string interpolator, flavors can be implemented using normal library code, without (whitebox) macros.
174-
Whiteboxness is necessary for xml”””<button …></button>””” to return a more precise type such as `xml.tags.Button` rather than `xml.Node`
187+
188+
- Less complexity in the language/compiler
189+
- Open for library competition
190+
- Compared to a string interpolator, flavors can be implemented using normal library code, without (whitebox) macros.
191+
- Whiteboxness is necessary for xml”””<button …></button>””” to return a more precise type such as `xml.tags.Button` rather than `xml.Node`
192+
175193
Other ideas
176-
Can it be a compiler plugin or a macro?
177-
No, a compiler plugin cannot hook into the parser, neither can a macro.
194+
- Can it be a compiler plugin or a macro?
195+
- No, a compiler plugin cannot hook into the parser, neither can a macro.
196+
178197
Related links
179-
Other XML libraries:
180-
https://note.github.io/xml-lens/
181-
One in scalaz-deriving: https://gitlab.com/fommil/scalaz-deriving/tree/master/examples/xmlformat/src/main/scala/xmlformat (link behind a login wall, it seems)
182-
JSX-style libraries for Scala:
183-
https://github.com/OlivierBlanvillain/monadic-html
184-
Binding.scala, TODO app: https://scalafiddle.io/sf/dGkVqlV/9
185-
Ammonite script to convert HTML to the VDOM DSL of scalajs-react (a ScalaTags flavor):
198+
199+
- Other XML libraries:
200+
- https://note.github.io/xml-lens/
201+
- One in scalaz-deriving: https://gitlab.com/fommil/scalaz-deriving/tree/master/examples/xmlformat/src/main/scala/xmlformat (link behind a login wall, it seems)
202+
- JSX-style libraries for Scala:
203+
- https://github.com/OlivierBlanvillain/monadic-html
204+
- Binding.scala, TODO app: https://scalafiddle.io/sf/dGkVqlV/9
205+
- Ammonite script to convert HTML to the VDOM DSL of scalajs-react (a ScalaTags flavor):
186206
https://gist.github.com/nafg/112bf83e5676ed316f17cea505ea5d93
187207

188208
Discussion:

0 commit comments

Comments
 (0)