@@ -45,6 +45,41 @@ Here are some project ideas. The list is non-binding and any reasonable
45
45
project related to Scala that is proposed by a student will be thoroughly
46
46
reviewed.
47
47
48
+ ### String interpolator for XML literals
49
+
50
+ We have wanted for a long time to deprecate XML literals in Scala and replace them by a string interpolator. That is, instead of
51
+
52
+ <body>
53
+ ...
54
+ </body>
55
+
56
+ future Scala programs would use an interpolated string
57
+
58
+ xml"""
59
+ <body>
60
+ ...
61
+ </body>
62
+ """
63
+
64
+ This project should turn the wish into reality by implementing the
65
+ ` xml ` interpolator. The implementation should re-use most of the
66
+ existing infrastructure for xml literals. It would probably be a good
67
+ idea to re-package the existing XML parser in the Scala compiler, and
68
+ to map interpolated strings to constructors from the existing
69
+ ` scala.xml ` library. Some other aspects need to be re-thought. In
70
+ particular name-space management should be handled by implicts
71
+ instead of being hard-coded in the Scala typer.
72
+
73
+ The project is a success if it can support essentially all legal XML
74
+ expressions in Scala as interpolated strings. By contrast, support for
75
+ XML patterns is optional: it would be nice if we could do it, but it's
76
+ not required.
77
+
78
+ This project is ideal for someone who knows XML basics, and is
79
+ interested to learn enough about aspects of the compiler (either Scala 2.12
80
+ or Dotty) to identify what can be re-used.
81
+
82
+ Supervised by [ Denys Shabalyn]] ( http://github.com/densh )
48
83
49
84
### Dotty Documentation Compiler ###
50
85
0 commit comments