<div dir="ltr">Protecting the environment is very important. It is made up of the very air we breathe, as well as the things which we eat. I would love to answer some of your questions about bothersome details, so ping. For starters, the implementation of the environment in our lives couldn&#39;t be more obvious. Like, you literally walk outside and it&#39;s like trees and water and ducks and the Taco Bell down the street and it&#39;s like: &quot;Woah dude. I&#39;m alive.&quot; It&#39;s the same thing for us every day. I don&#39;t know how it could be less different, and I don&#39;t believe in natural selection, it speaks for itself, and it&#39;s pretty wild.<div><br></div><div>On another note, I read a book the other day while I was in school. It was called: &quot;Sus.&quot; It went: &quot;Sus.&quot; I felt pretty inspired so I went home from school and wrote a story called: &quot;Sus.&quot; It went:</div><div><br></div><div>&quot;Sussowssaucesoossiissooososousususoes...s...&quot;</div><div><br></div><div>I sent it into the paper, still havent heard anything from the editor but I&#39;ll let you know how it goes. Nice hearing from you Nicolas!</div><div><br></div><div>Sincerely</div><div><br></div><div>Gary Mary</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 28, 2016 at 5:59 PM, Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Since we are at reviewing Environment, here is a small detail that bothers me. I already asked some months ago, but silence was the only response, so ping.<br><br>Implementation of Environment is sometimes not obvious:<br><div>- Environment&gt;&gt;associationAt: uses declarations inst.var..<br></div><div>- Environment&gt;&gt;associationOrUnde<wbr>claredAt: uses bindings inst.var.<br></div><div>How can it be so different, the selector does not speak, does it?<br><br></div><div>OK, there is a flag: #review in one of them, but that does not make code clearer, it&#39;s just a smell of over-complexity or ill-naming.<br></div><br>Whatever the reason (self explaining code?) Colin does not comment class/methods, that&#39;s a fact.<br>Chris made the effort of commenting Environment but then came this declarations/bindings split, and the comment did
 rapidly rot.<br>We have here an un-healthy statu quo crying for change.<br><br></div>So if we want to at least comment the class with the meaning/role/responsibility of inst vars, here is my understanding:<br><br>environment bind: #Foo to: 0. just add to the declarations.<br>(You see how names are not obvious: bind does not bind the new binding to bindings).<br><br>If the 
Environment importSelf, then the ClassBinding/Global also goes to 
bindings... (thru an observer pattern and the magic of naming policies)<br><br></div><div>The bindings is what is used by the compiler, so what if an 
environment does not importSelf? It means that the variable it declares 
are not bound, so it is not reachable (kind of invisible class/Global).<br><br></div><div>IOW, the bindings will contain all the imports, including self-imports.<br></div><div>importSelf is generally what we want to do, unless weird cases of powerless environment for obfuscation or trustless sandboxing reason.<br></div><div><br></div><div>Now, associationAt: does not speak for itself. It&#39;s too hard to decide if we&#39;re speaking of own declarations or bindings... Analyzing the usage is difficult. bindingAt: would be less ambiguous, so IMO we cannot fix without semantic shift.<br><br></div><div><div>The semantic will be carried by the senders (the Tools), and the tools by usage we want to make of Environment. So we first have to define that: what feature do we want to support? With which tool? That probably require yet another thread...<br></div></div></div>
<br><br>
<br></blockquote></div><br></div>