Skip to content

Commit 181d7e4

Browse files
committed
Merge pull request #1248 from lampepfl/DarkDimius-patch-6
Update Readme.md for ScalaDays
2 parents 04993c7 + f18e27b commit 181d7e4

File tree

1 file changed

+65
-19
lines changed

1 file changed

+65
-19
lines changed

README.md

Lines changed: 65 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,29 +11,75 @@ theory behind these constructors is researched in
1111
[DOT](http://www.cs.uwm.edu/~boyland/fool2012/papers/fool2012_submission_3.pdf),
1212
a calculus for dependent object types.
1313

14-
The dotty compiler is largely a new design. It takes a more functional
15-
approach than current scalac, paired with aggressive caching to
16-
achieve good performance. Some parts, in particular those that have to
17-
do with configuration and input/output are ported from the Scala
18-
compiler. The compiler is fully functional, in particular it can
19-
compile itself. But there's more work needed (and planned) on
20-
polishing rough edges, improving diagnostics, improving compilation
21-
speed, and embedding in other tools.
22-
23-
We expect that, over time, some of the new technologies explored in
24-
this project will find their way into future versions of Scala. At
25-
present it is too early to say which ones and when.
26-
27-
If you want to try it out, to get started have a look at
14+
####Current status:
15+
_Technology preview_: currently unsupported, may be functionally incomplete or unsuitable for production use.
16+
17+
####Is it going to be the future Scala?
18+
Yes, eventually.
19+
20+
####Who's working on it?
21+
See [github contributors page](https://github.com/lampepfl/dotty/graphs/contributors).
22+
23+
####What are the features that could make me consider trying it?
24+
| Feature | Status |
25+
|---------------------------------------------------------------------------------------------------------|---------------------|
26+
| Union, Intersection and [Literal singleton types](http://docs.scala-lang.org/sips/pending/42.type.html) | Implemented |
27+
| Fast compilation(phase fusion) | Implemented |
28+
| [Trait parameters](http://docs.scala-lang.org/sips/pending/trait-parameters.html) | Implemented |
29+
| [@Static methods and fields](https://github.com/scala/scala.github.com/pull/491) | Implemented |
30+
| Colored Repl | Implemented |
31+
| Sbt incremental build | Implemented |
32+
| Non-blocking lazy vals | Implemented |
33+
| Option-less pattern matching(based on [name-based patmat](https://github.com/scala/scala/pull/2848)) | Implemented |
34+
| Function arity adaptation | Implemented |
35+
| | |
36+
| Non-boxed arrays of value classes | In progress |
37+
| Working contravariant implicits | In progress |
38+
| [Auto-Specialization](https://github.com/dotty-linker/dotty) | In progress |
39+
| [Whole program optimizer](https://github.com/dotty-linker/dotty) | In progress |
40+
| [Library defined optimizations](https://github.com/dotty-linker/dotty) | In progress |
41+
| | |
42+
| HList & HMaps\Record types | Under consideration |
43+
| Implicit functions | Under consideration |
44+
| Effects | Under consideration |
45+
| Auto-completion in repl | Under consideration |
46+
| Spec Option-less pattern matching | Under consideration |
47+
| Multiverse equality | Under consideration |
48+
| Exhaustivity checks in pattern matching | Under consideration |
49+
There are also plethora of small details such as [per-callsite @tailrec annotations](https://github.com/lampepfl/dotty/issues/1221)
50+
51+
####What are the complications that I can have If I start using Dotty?
52+
Dotty can use libraries compiled by scalac 2.11, but Scala scalac can't use libraries compiled by Dotty.<br>
53+
No existential types.<br>
54+
No macro support yet. We have big plans here.<br>
55+
No early initializers. No scala.DelayedInit. Use trait parameters instead.<br>
56+
Whole program optimizer will only work if all dependencies are compiled by Dotty.<br>
57+
58+
59+
####Can I write my code in a way that is going to be compatible with Scalac & Dotty?
60+
Yes, Dotty itself is a project that can be compiled by both Dotty and Scalac.<br>
61+
It's not very hard, and the biggest thing that you will likely miss is using macros.
62+
63+
####How can I try it out?
2864
https://github.com/lampepfl/dotty/wiki/Getting-Started.
65+
Here’s an example sbt project and instructions on how to set it up: https://github.com/smarter/dotty-example-project/ <br>
66+
We have colored REPL :-). You can invoke it by running `dotc -repl`.
2967

30-
Developers mailing list is https://groups.google.com/forum/#!forum/dotty-internals.
68+
####We also have:
69+
Basic support for Scala.js,<br>
70+
[Prototype](https://github.com/scala-native/scala-native/tree/topic/dotty-support) of compilation to x86 native code(Shabalin)<br>
3171

72+
####What about scalac:
73+
Scalac is the basis for stability in scala. We expect scalac & dotty to coexist for long time.
74+
75+
####Contributions are welcome!
76+
We invite you to help us build the future of Scala.<br>
77+
This is the best moment to participate, as everyone can make an impact.<br>
3278

33-
&nbsp;
79+
####SI-2712?
80+
If scalac will put it into 2.12, we’ll mimic their behaviour. But we have bigger plans for
81+
HK-types.
3482

35-
&nbsp;
3683

37-
![YourKit](https://www.yourkit.com/images/yklogo.png) supports open source projects with its full-featured Java Profiler.
3884

39-
YourKit, LLC is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/index.jsp).
85+
Developers mailing list is https://groups.google.com/forum/#!forum/dotty-internals.

0 commit comments

Comments
 (0)