Index: docs/language/dartLangSpec.tex |
=================================================================== |
--- docs/language/dartLangSpec.tex (revision 32683) |
+++ docs/language/dartLangSpec.tex (working copy) |
@@ -5,7 +5,7 @@ |
\usepackage{hyperref} |
\newcommand{\code}[1]{{\sf #1}} |
\title{Dart Programming Language Specification \\ |
-{\large Version 1.11}} |
+{\large Version 1.2}} |
\author{The Dart Team} |
\begin{document} |
\maketitle |
@@ -216,13 +216,7 @@ |
This means private declarations may only be accessed within the library in which they are declared. |
} |
-Privacy applies only to declarations within a library, not to library declarations themselves. |
Lasse Reichstein Nielsen
2014/02/14 11:48:26
With this change, a library name declaration is pr
|
-\rationale{ |
-Libraries do not reference each other by name and so the idea of a private library is meaningless. |
-Thus, if the name of a library begins with an underscore, it has no special significance. |
-} |
- |
\rationale{Privacy is, at this point, a static notion tied to a particular piece of code (a library). It is designed to support software engineering concerns rather than security concerns. Untrusted code should always run in an another isolate. It is possible that libraries will become first class objects and privacy will be a dynamic notion tied to a library instance. |
Privacy is indicated by the name of a declaration - hence privacy and naming are not orthogonal. This has the advantage that both humans and machines can recognize access to private declarations at the point of use without knowledge of the context from which the declaration is derived.} |
@@ -4832,7 +4826,7 @@ |
A Dart program consists of one or more libraries, and may be built out of one or more {\em compilation units}. A compilation unit may be a library or a part (\ref{parts}). |
-A library consists of (a possibly empty) set of imports, a set of exports, and a set of top-level declarations. A top-level declaration is either a class (\ref{classes}), a type alias declaration (\ref{typedef}), a function (\ref{functions}) or a variable declaration (\ref{variables}). The members of a library $L$ are those top level declarations given within a $L$. |
+A library consists of (a possibly empty) set of imports, a set of exports, and a set of top-level declarations. A top-level declaration is either a class (\ref{classes}), a type alias declaration (\ref{typedef}), a function (\ref{functions}) or a variable declaration (\ref{variables}). The members of a library $L$ are those top level declarations given within a $L$. |
\begin{grammar} |
{\bf topLevelDefinition:}classDefinition; |