<html><head></head><body>
    <p>Alright, I have updated ThunkStack and PromisesRemote. Please
      load with the script:</p>
    <blockquote>
      <p>Installer ss project: 'Cryptography'; install:
        'ProCrypto-1-1-1'; install: 'ProCryptoTests-1-1-1'.<br/>
        Installer ss project: 'Cryptography'; install: 'PromisesLoader'.</p>
    </blockquote>
    <p>and run tests, including the test category:
      PromisesRemote-Testing. #Green! This includes remote tests between
      two machines {vats}.<br/>
      <br/>
      The test category: PromisesRemote-3WayTesting has two failures due
      to 3Way no working right, yet. Here are the two failing tests:</p>
    <blockquote>
      <ul>
        <li>testThreeWayGranovetter</li>
        <li>testThreeWayGranovetterGalaxyScenario</li>
      </ul>
    </blockquote>
    <p>I am buried in SSL, but I will try to advance PromisesRemote by
      switching from STON to ASN1 encoding.</p>
    <p>K, r<br/>
    </p>
    <div class="moz-cite-prefix">On 6/5/20 10:43 AM, Robert Withers
      wrote:<br/>
    </div>
    <blockquote type="cite" cite="mid:9e369185-e9f8-7190-7889-3718ac62545c@pm.me">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
      <p>Hi Tony,</p>
      <p>I reworked the packaging and the code split. Please load the
        following to see local promises:<br/>
      </p>
      <blockquote>
        <p>Installer ss project: 'Cryptography'; install:
          'PromisesLocal'.<br/>
        </p>
      </blockquote>
      <p>and then run the PromisesLocal tests, all #green.</p>
      <p>---<br/>
      </p>
      <p>And to see the remote promises, load the following:</p>
      <blockquote>
        <p>Installer ss project: 'Cryptography'; install:
          'ProCrypto-1-1-1'; install: 'ProCryptoTests-1-1-1'.<br/>
          Installer ss project: 'Cryptography'; install:
          'PromisesLoader'.<br/>
        </p>
      </blockquote>
      <p>Run all tests, EXCEPT PromisesRemote tests. 414 tests, all
        #green. Now run the following #green PromisesRemote tests:</p>
      <blockquote>
        <ul>
          <li>Base64EncodingTestCase</li>
          <li>RememberTableTestCase</li>
          <li>SealerUnsealerTestCase</li>
          <li>SerializationTestCase</li>
          <li>SubstitutionSerializationTestCase</li>
        </ul>
      </blockquote>
      <p>As I am porting PromisesRemote onto the latest iteration of the
        ParrotTalk interface, the remote tests (LookupTestCase &
        OperationalTestCase) are not green. They're #Red. I wanted to
        give you a heads up on the package renames for local promises,
        such that you could not waste your time exploring this
        implementation. I'll email once I get those remote tests working
        again.</p>
      <p>K, r<br/>
      </p>
      <p><br/>
      </p>
      <div class="moz-cite-prefix">On 6/4/20 5:25 PM, Robert Withers
        wrote:<br/>
      </div>
      <blockquote type="cite" cite="mid:d38f43bd-71f7-3938-2114-13df958bb99c@pm.me">
        <pre class="moz-quote-pre" wrap="">Hi Tony,

Well, this Promise implementation made it into the Kernel and schedules 
into the future (this seems to be the only use). So it certainly strikes 
me as official.

Have you ever had a chance to look at the 'CapabilitiesLocal' 
implementation I modeled after ERights, many many years ago? It has 
tests. I would welcome comment & feedback.

Installer ss project: 'Cryptography'; install: 'CapabilitiesLocal'.

Kindly,
Robert

On 6/4/20 10:16 AM, Tony Garnock-Jones wrote:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">Hi Jakob,

On 4/5/20 12:00 AM, Jakob Reschke wrote:
</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">I think our Promise behaves wrong, but I would like a second opinion.
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">I think you're right. And I think we should fix it. I'll draft a repair.

I don't think there are many users of Promise out there -- if there are,
and any are reading this, please speak up if fixing the bug Jakob
reported would be a problem.

</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">I think the behavior in our Promise is also in violation with the
Promises/A+ specification it claims to implement
(<a class="moz-txt-link-freetext" href="https://promisesaplus.com/" moz-do-not-send="true">https://promisesaplus.com/</a>):

[...]
2.2.7 then must return a promise.

     promise2 = promise1.then(onFulfilled, onRejected);

2.2.7.1 If either onFulfilled or onRejected returns a value x, run the
Promise Resolution Procedure [[Resolve]](promise2, x).

2.2.7.2 If either onFulfilled or onRejected throws an exception e,
promise2 must be rejected with e as the reason.
[...]
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">Thanks for digging into the spec here. That'll be helpful for getting
the tests right.

</pre>
          <blockquote type="cite">
            <pre class="moz-quote-pre" wrap="">On an only slightly related note, I am unhappy that I cannot debug
errors in promise handler blocks [...] Opinions?
</pre>
          </blockquote>
          <pre class="moz-quote-pre" wrap="">I don't know what to think about this, I'm afraid! I'd be keen to hear
more from others about what a good alternative to the current behaviour
might be.

Regards,
   Tony

</pre>
        </blockquote>
      </blockquote>
    </blockquote>
  

</body></html>