<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div></div><div><br></div><div><br>On Mar 27, 2016, at 7:21 AM, Maximilian Hünenberger &lt;<a href="mailto:m.huenenberger@me.com">m.huenenberger@me.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div></div><div>I like the idea of <b>protected</b> (against extensions).</div><div>However this raises the question whether extensions are also extensions of scope.</div><div><br></div><div><br></div><div>Can "private(scope)" properties/functions be accessed from extensions?</div></div></blockquote>I think the idea is for private-scope / local to not be seen from extensions in other files. I am not sure how that works for same file extensions. &nbsp;<br><blockquote type="cite"><div><div><br></div><div>In your case:</div><div>Is "protected" exactly like local? So it doesn't hide properties from extensions within the file?</div></div></blockquote><div><br></div>Yes. just like local.&nbsp;<div><br><blockquote type="cite"><div><div>By making "private" scope based it is less private than "protected" which doesn't feel right to me. (Assuming extensions extend scope)</div><div><br></div><div>In my opinion <u>"protected" should protect against other scopes</u>/classes. Leaving "private" file based.</div></div></blockquote><br></div><div>In essence there are two ideas floating around in my head:</div><div>1) give the new local / private-scope a unique name like 'secret' or 'protected' and keep everything else the same. &nbsp;</div><div><br></div><div>2) redefine this new local / private-scope as just 'private',&nbsp;</div><div>private-file becomes 'internal' , we find a new name for private-module like 'external' and we keep public as is.&nbsp;</div><div><br></div><div>I'm am now leaning towards number 2.&nbsp;</div><div><br></div><div>Public&nbsp;</div><div>External (default)</div><div>Internal</div><div>Private</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></body></html>