OLD | NEW |
1 dev_compiler | 1 dev_compiler |
2 ============ | 2 ============ |
3 | 3 |
4 [![Build Status](https://travis-ci.org/dart-lang/dev_compiler.svg?branch=master)
](https://travis-ci.org/dart-lang/dev_compiler) | 4 [![Build Status](https://travis-ci.org/dart-lang/dev_compiler.svg?branch=master)
](https://travis-ci.org/dart-lang/dev_compiler) |
5 [![Coverage Status](https://coveralls.io/repos/dart-lang/dev_compiler/badge.svg?
branch=master)](https://coveralls.io/r/dart-lang/dev_compiler) | 5 [![Coverage Status](https://coveralls.io/repos/dart-lang/dev_compiler/badge.svg?
branch=master)](https://coveralls.io/r/dart-lang/dev_compiler) |
6 | 6 |
7 The Dart Dev Compiler (DDC) is an **experimental** development tool and transpil
er. It is at a very early stage today. Its aims include the following: | 7 The Dart Dev Compiler (DDC) is an **experimental** development tool and transpil
er. It is at a very early stage today. Its aims include the following: |
8 | 8 |
9 - A static checker based on stricter-than-standard-Dart type rules. | 9 - A static checker based on stricter-than-standard-Dart type rules. |
10 - A modular Dart-to-ES6 transpiler for Dart programs that statically check. | 10 - A modular Dart-to-ES6 transpiler for Dart programs that statically check. |
11 | 11 |
12 DDC attempts to map to idiomatic EcmaScript 6 (ES6) as cleanly as possible. To
do this while cohering to Dart semantics, DDC relies heavily on static type info
rmation, static checking, and runtime assertions. | 12 DDC attempts to map to idiomatic EcmaScript 6 (ES6) as cleanly as possible. To
do this while cohering to Dart semantics, DDC relies heavily on static type info
rmation, static checking, and runtime assertions. |
13 | 13 |
14 DDC is intended to support a very large subset of Dart. If a program does not s
tatically check, DDC will not result in valid generated code. Our goal is that
a program execution (of a valid program) that runs without triggering runtime as
sertions should run the same on other Dart platforms under checked mode or produ
ction mode. | 14 DDC is intended to support a very large subset of Dart. If a program does not s
tatically check, DDC will not result in valid generated code. Our goal is that
a program execution (of a valid program) that runs without triggering runtime as
sertions should run the same on other Dart platforms under checked mode or produ
ction mode. |
15 | 15 |
16 DDC does support untyped Dart code, but it will typically result in less readabl
e and less efficient ES6 output. | 16 DDC does support untyped Dart code, but it will typically result in less readabl
e and less efficient ES6 output. |
17 | 17 |
18 DDC has the following project goals: | 18 DDC has the following project goals: |
19 - Effective static checking and error detection. | 19 - Effective static checking and error detection. |
20 - A debugging solution for all modern browsers. | 20 - A debugging solution for all modern browsers. |
21 - Readable output. | 21 - Readable output. |
22 - Fast, modular compilation of Dart code. | 22 - Fast, modular compilation of Dart code. |
23 - Easy use of generated code from JavaScript. | 23 - Easy use of generated code from JavaScript. |
24 | 24 |
25 DDC is still in a very early stage as highlighted by our choice of ES6. ES6 its
elf is in active development across all modern browsers, but at various stages o
f support: https://kangax.github.io/compat-table/es6/ | 25 DDC is still in a very early stage as highlighted by our choice of ES6. ES6 its
elf is in active development across all modern browsers, but at various stages o
f support: https://kangax.github.io/compat-table/es6/ |
26 | 26 |
27 We are initially targeting the subset of ES6 supported in Chrome Canary. | 27 We are initially targeting the subset of ES6 supported in Chrome Canary. |
| 28 |
| 29 To try out DDC and/or give feedback, please read our [Usage](USAGE.md) page. |
OLD | NEW |