commit | 09f891b89b23cf7256270f725783803e6c80278a | [log] [tgz] |
---|---|---|
author | Samir Jindel <sjindel@google.com> | Mon Sep 18 11:47:31 2017 +0000 |
committer | Samir Jindel <sjindel@google.com> | Mon Sep 18 11:47:31 2017 +0000 |
tree | 4d7afe14fcac1deb11c5491303ed9dd69d9bad42 | |
parent | 12c4b62be815e363bd35bb0d3e91505bfe61459b [diff] |
[kernel] Generalization of type equivalence to subtyping. This revision includes changes from: - [kernel] Completion of consistency proofs for type system of first subset of kernel. due to the suckiness of gerrit. We generalize type equivalence to subtyping. The contravariant property of function parameter types causes properties for the totality checker. To cicumvent this, we define a well-ordered relation on pairs of dart types and prove subtyping respects it. We develop new lemmas and tactics for managing proofs involving subtyping, includinging factoring out the messy business of dealing with its convoluted recursion scheme. Bug: Change-Id: I18936168006617874a82eefc983f1b2d4d8af5af Reviewed-on: https://dart-review.googlesource.com/5861 Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.