aboutsummaryrefslogtreecommitdiff
path: root/docs/_includes
diff options
context:
space:
mode:
Diffstat (limited to 'docs/_includes')
-rw-r--r--docs/_includes/faq.html101
-rw-r--r--docs/_includes/features.html114
-rw-r--r--docs/_includes/getting-started.html31
-rw-r--r--docs/_includes/logo-page.html89
-rw-r--r--docs/_includes/toc.html36
5 files changed, 354 insertions, 17 deletions
diff --git a/docs/_includes/faq.html b/docs/_includes/faq.html
new file mode 100644
index 000000000..7c2126ac4
--- /dev/null
+++ b/docs/_includes/faq.html
@@ -0,0 +1,101 @@
+<div class="page blue">
+ <div class="centered questions">
+ <h1 id="why-dotty">Why Dotty?</h1>
+ <p>
+ Dotty is a platform to try out new language concepts and compiler
+ technologies for Scala. The focus is mainly on simplification. We
+ remove extraneous syntax (e.g. no XML literals), and try to boil
+ down Scala’s types into a smaller set of more fundamental
+ constructors. The theory behind these constructors is researched in
+ <a href="https://infoscience.epfl.ch/record/215280">DOT</a>, a
+ calculus for dependent object types.
+ </p>
+
+ <h1 id="is-it-the-future-scala">Is it the future Scala?</h1>
+ <div class="centered-text">
+ <p>Yes, it will be - eventually.</p>
+ </div>
+
+ <h1 id="can-i-use-it">Can I use it?</h1>
+ <div class="centered-text">
+ <p>
+ <a href="#getting-started">You can!</a> But it currently comes with
+ no guarantees of stability.
+ </p>
+ </div>
+
+ <h1 id="is-there-scala-2-interop">Is there Scala 2 interop?</h1>
+ <div class="centered-text">
+ <p>
+ Dotty currently interops with libraries compiled with Scala
+ 2.11 - but not 2.12
+ </p>
+ </div>
+
+ <h1 id="how-do-i-migrate-my-code-to-dotty">How do I migrate my code to Dotty?</h1>
+ <p>
+ An automated rewriting tool is planned for Dotty, more on this to come.
+ Scala 2 sources can be compiled to some degree by issuing:
+ </p>
+ <pre class="sourceCode bright"><code>./bin/dotc -language:Scala2 file.scala</code></pre>
+ <p>when compiling your program.</p>
+
+ <h1 id="whos-working-on-it">Who’s working on it?</h1>
+ <div class="contributors">
+ <div class="contributors-cell">
+ <div class="contributor">
+ <a href="http://github.com/odersky">
+ <img src="{{ site.baseurl }}/images/martin.jpg">
+ </a>
+ Martin Odersky
+ </div>
+
+ <div class="contributor">
+ <a href="http://www.d-d.me">
+ <img src="{{ site.baseurl }}/images/petrashko.png">
+ </a>
+ Dmitry Petrashko
+ </div>
+
+ <div class="contributor">
+ <a href="http://guillaume.martres.me/">
+ <img src="{{ site.baseurl }}/images/smarter.jpg">
+ </a>
+ Guillaume Martres
+ </div>
+ </div>
+ <div class="contributors-cell">
+ <div class="contributor">
+ <a href="http://fengy.me/">
+ <img src="{{ site.baseurl }}/images/fengyun.png">
+ </a>
+ Liu Fengyun
+ </div>
+
+ <div class="contributor">
+ <a href="https://github.com/felixmulder">
+ <img src="{{ site.baseurl }}/images/felix.jpeg">
+ </a>
+ Felix Mulder
+ </div>
+
+ <div class="contributor">
+ <a href="https://github.com/nicolasstucki">
+ <img src="{{ site.baseurl }}/images/nico.png">
+ </a>
+ Nicolas Stucki
+ </div>
+ </div>
+ </div>
+
+ <div class="centered-text">
+ <p>
+ And a long line of
+ <a href="https://github.com/lampepfl/dotty/graphs/contributors">
+ contributors!
+ </a>
+ </p>
+ </div>
+ </div>
+</div>
+
diff --git a/docs/_includes/features.html b/docs/_includes/features.html
new file mode 100644
index 000000000..bbba6d54c
--- /dev/null
+++ b/docs/_includes/features.html
@@ -0,0 +1,114 @@
+<div class="page teal">
+ <div class="centered questions">
+ <h1 id="so-features">So, features?</h1>
+ <div class="centered-table">
+ <table>
+ <colgroup>
+ <col width="82%" />
+ <col width="17%" />
+ </colgroup>
+ <tbody>
+ <tr class="odd">
+ <td>Union, intersection and <a href="http://docs.scala-lang.org/sips/pending/42.type.html">literal singleton types</a></td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="even">
+ <td>Fast compilation (phase fusion)</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="odd">
+ <td><a href="http://docs.scala-lang.org/sips/pending/trait-parameters.html">Trait parameters</a></td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="even">
+ <td><a href="https://github.com/scala/scala.github.com/pull/491">@@static methods and fields</a></td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="odd">
+ <td>Improved REPL with colors</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="even">
+ <td>Sbt incremental build</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="odd">
+ <td>Non-blocking lazy vals</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="even">
+ <td>Option-less pattern matching (based on <a href="https://github.com/scala/scala/pull/2848">name-based patmat</a>)</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="odd">
+ <td>Function arity adaptation</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="even">
+ <td>Multiversal equality</td>
+ <td>Implemented</td>
+ </tr>
+ <tr class="odd">
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="even">
+ <td>Non-boxed arrays of value classes</td>
+ <td>In progress</td>
+ </tr>
+ <tr class="odd">
+ <td>Working contravariant implicits</td>
+ <td>In progress</td>
+ </tr>
+ <tr class="even">
+ <td><a href="https://github.com/dotty-linker/dotty">Auto-Specialization</a></td>
+ <td>In progress</td>
+ </tr>
+ <tr class="odd">
+ <td><a href="https://github.com/dotty-linker/dotty">Whole program optimizer</a></td>
+ <td>In progress</td>
+ </tr>
+ <tr class="even">
+ <td></td>
+ <td></td>
+ </tr>
+ <tr class="odd">
+ <td>HList &amp; HMaps/Record types</td>
+ <td>Considered</td>
+ </tr>
+ <tr class="even">
+ <td>Implicit functions</td>
+ <td>Considered</td>
+ </tr>
+ <tr class="odd">
+ <td>Effects</td>
+ <td>Considered</td>
+ </tr>
+ <tr class="even">
+ <td>Auto-completion in repl</td>
+ <td>Considered</td>
+ </tr>
+ <tr class="odd">
+ <td>Spec Option-less pattern matching</td>
+ <td>Considered</td>
+ </tr>
+ <tr class="even">
+ <td>Exhaustivity checks in pattern matching</td>
+ <td>Considered</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <p>The complete list is available <a href="https://github.com/lampepfl/dotty#what-are-the-features-that-could-make-me-consider-trying-it">here</a>.</p>
+ <h1 id="talks-on-dotty">Talks on Dotty?</h1>
+ <ul>
+ <li><a href="https://www.youtube.com/watch?v=WxyyJyB_Ssc">Compilers are Databases</a> by Martin Odersky (<a href="http://www.slideshare.net/Odersky/compilers-are-databases">slides</a>)</li>
+ <li><a href="https://www.youtube.com/watch?v=aftdOFuVU1o">Exploring the future of Scala</a> by Dmitry Petrashko (<a href="https://d-d.me/scalaworld2015/#/">slides</a>)</li>
+ </ul>
+ <h1 id="i-have-more-questions">I have more questions!</h1>
+ <div class="centered-text">
+ <p>That’s great! We have more details on the <a href="{{ site.baseurl }}/docs">docs</a> and please join our <a href="https://gitter.im/lampepfl/dotty">Gitter channel</a>!</p>
+ </div>
+ </div>
+</div>
+
diff --git a/docs/_includes/getting-started.html b/docs/_includes/getting-started.html
new file mode 100644
index 000000000..fc99788f9
--- /dev/null
+++ b/docs/_includes/getting-started.html
@@ -0,0 +1,31 @@
+<div class="page white">
+ <div class="centered" style="padding-top: 32px">
+ <h1 id="getting-started">Getting Started</h1>
+ <p>
+ Using Dotty to compile your project is now pretty simple. Create the
+ following structure:
+ </p>
+ <pre class="sourceCode bordered">
+<code>.
+├── build.sbt
+├── project
+│ ├── build.properties
+│ └── plugins.sbt
+└── src</code></pre>
+ <h2 id="build.sbt">build.sbt</h2>
+ <pre class="sourceCode bordered"><code>name := "application"
+version := "0.1"
+enablePlugins(DottyPlugin)</code></pre>
+ <h2 id="build.properties">build.properties</h2>
+ <pre class="sourceCode bordered"><code>sbt.version=0.13.11</code></pre>
+ <h2 id="plugins.sbt">plugins.sbt</h2>
+ <pre class="sourceCode bordered"><code>addSbtPlugin("com.felixmulder" % "sbt-dotty" % "0.1.4")</code></pre>
+ <p>
+ This plugin is based on the
+ <a href="https://github.com/smarter/dotty-example-project">
+ dotty-example-project
+ </a>, but let’s you skip building dotty from scratch.
+ </p>
+ </div>
+</div>
+
diff --git a/docs/_includes/logo-page.html b/docs/_includes/logo-page.html
new file mode 100644
index 000000000..53c466cf5
--- /dev/null
+++ b/docs/_includes/logo-page.html
@@ -0,0 +1,89 @@
+<div class="page red exactly-one-page">
+ <div id="header">
+ <nav class="nav nav-pills">
+ <li class="nav-item">
+ <a class="nav-link" href="#why-dotty">
+ FAQ
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="{{ site.baseurl }}/blog">
+ Blog
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="{{ site.baseurl }}/docs">
+ Docs
+ </a>
+ </li>
+ <!--
+ <li class="nav-item">
+ <a class="nav-link" href="#build-status">
+ Community Projects
+ </a>
+ </li>
+ -->
+ <li class="nav-item">
+ <a class="nav-link" href="https://github.com/lampepfl/dotty">
+ <img id="github-logo" src="{{ site.baseurl }}/images/github-logo.svg" />
+ </a>
+ </li>
+ </nav>
+ </div>
+ <div id="mobile-header">
+ <nav class="navbar navbar-light">
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsed-header" aria-controls="collapsed-header" aria-expanded="false" aria-label="Toggle navigation">
+ &#9776;
+ </button>
+ <div class="collapse" id="collapsed-header">
+ <div class="bg-inverse p-a-1">
+ <ul>
+ <li class="nav-item">
+ <a class="nav-link" href="#why-dotty">
+ FAQ
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="{{ site.baseurl }}/blog">
+ Blog
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#getting-started">
+ Getting Started
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="#build-status">
+ Community Projects
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="https://github.com/lampepfl/dotty/wiki">
+ Wiki
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="https://github.com/lampepfl/dotty">
+ <img id="github-logo" src="{{ site.baseurl }}/images/github-logo.svg" />
+ </a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </nav>
+ </div>
+ <div class="scala-logo-container">
+ <p><img src="{{ site.baseurl }}/images/scala-logo.svg" alt="image" /></p>
+ <div class="centered-subtitle">
+ <h1 id="dotty">Dotty</h1>
+ <p>A next generation compiler for Scala</p>
+ <a href="#why-dotty">
+ <i id="scroll-down-arrow" class="animated infinite pulse material-icons">
+ expand_more
+ </i>
+ </a>
+ </div>
+ </div>
+</div>
+
diff --git a/docs/_includes/toc.html b/docs/_includes/toc.html
index 1e165ecaa..905654945 100644
--- a/docs/_includes/toc.html
+++ b/docs/_includes/toc.html
@@ -1,36 +1,38 @@
<div>
- <div id="scala-logo">
- {% include scala-logo.html %}
- </div>
+ <a href="{{ site.baseurl }}/">
+ <div id="scala-logo">
+ {% include scala-logo.html %}
+ </div>
+ </a>
<ul id="categories">
<li><ul><li><a href="{{ site.baseurl }}/blog">Blog</a></li></ul></li>
- <li><ul><li><a href="{{ site.baseurl }}/">Dotty Docs</a></li></ul></li>
+ <li><ul><li><a href="{{ site.baseurl }}/docs">Dotty Docs</a></li></ul></li>
<li>
Usage
<ul>
- <li><a href="{{ site.baseurl }}/usage/migrating.html">Migrating from Scala 2</a></li>
- <li><a href="{{ site.baseurl }}/usage/sbt-projects.html">Using Dotty with sbt</a></li>
+ <li><a href="{{ site.baseurl }}/docs/usage/migrating.html">Migrating from Scala 2</a></li>
+ <li><a href="{{ site.baseurl }}/docs/usage/sbt-projects.html">Using Dotty with sbt</a></li>
</ul>
</li>
<li>
Contributing
<ul>
- <li><a href="{{ site.baseurl }}/contributing/getting-started.html">Getting Started</a></li>
- <li><a href="{{ site.baseurl }}/contributing/workflow.html">Workflow</a></li>
- <li><a href="{{ site.baseurl }}/contributing/eclipse.html">Eclipse</a></li>
- <li><a href="{{ site.baseurl }}/contributing/intellij-idea.html">Intellij-IDEA</a></li>
+ <li><a href="{{ site.baseurl }}/docs/contributing/getting-started.html">Getting Started</a></li>
+ <li><a href="{{ site.baseurl }}/docs/contributing/workflow.html">Workflow</a></li>
+ <li><a href="{{ site.baseurl }}/docs/contributing/eclipse.html">Eclipse</a></li>
+ <li><a href="{{ site.baseurl }}/docs/contributing/intellij-idea.html">Intellij-IDEA</a></li>
</ul>
</li>
<li>
Internals
<ul>
- <li><a href="{{ site.baseurl }}/internals/backend.html">Backend</a></li>
- <li><a href="{{ site.baseurl }}/internals/contexts.html">Contexts</a></li>
- <li><a href="{{ site.baseurl }}/internals/higher-kinded-v2.html">Higher Kinded Type Scheme</a></li>
- <li><a href="{{ site.baseurl }}/internals/overall-structure.html">Project Structure</a></li>
- <li><a href="{{ site.baseurl }}/internals/periods.html">Periods</a></li>
- <li><a href="{{ site.baseurl }}/internals/type-system.html">Type System</a></li>
- <li><a href="{{ site.baseurl }}/internals/dotc-scalac.html">Dotty vs Scala2</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/backend.html">Backend</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/contexts.html">Contexts</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/higher-kinded-v2.html">Higher Kinded Type Scheme</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/overall-structure.html">Project Structure</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/periods.html">Periods</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/type-system.html">Type System</a></li>
+ <li><a href="{{ site.baseurl }}/docs/internals/dotc-scalac.html">Dotty vs Scala2</a></li>
</ul>
</li>
</ul>