<html><head></head><body>
    <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/">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>
  

</body></html>