Re: propUtils#testProp/2: not synchronously callable

Thomas Leonard <tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]>
Newsgroups gmane.comp.lang.e.general
Organization IT Innovation
Message-ID <[email protected]>
On Wed, 2009-12-30 at 14:16 +0000, Thomas Leonard wrote:
> 2009/12/29 Thomas Leonard <[email protected]>:

[ E unpredictably fails to start ]

> > After adding some more information to the error message, it seems that
> > __matchBind is sometimes only a promise. The error message can be made
> > easily reproducible by adding a delay to the top of
> > elang/expand/__matchBind.emaker

My proposed branch now contains a simple fix for this (do parsing in the
start vat):

git pull [email protected]:~tal-itinnov/repo-roscidus/it-innovation.git proposed

First there's a simple patch that fixes run/4, then a second one that
refactors interpret/4 to share the code with run, instead of duplicating
it, so the fix works there too:

http://gitorious.org/~tal-itinnov/repo-roscidus/it-innovation/commit/52a46c08a31cf0e6bd2ecb6bd5d44a5f82cbba45
http://gitorious.org/~tal-itinnov/repo-roscidus/it-innovation/commit/3cd7cd7179d48c7ab209aa19f087d198f3a476de

I don't know if this is the correct fix, although it works for me. It
seems that eLauncherAuthor must do the parsing the caller's vat because
the caller passes in the lexer, streams, etc and objects in E can't
exist in two vats at once, which is what the old code did.

The eval vat probably has the same problem but it's not breaking
anything for me. Probably because the objects passed by rune all happen
to be thread-safe and it's not using many things from safeScope
(__matchBind, etc).



-- 
Dr Thomas Leonard
IT Innovation Centre
2 Venture Road
Southampton
Hampshire SO16 7NP

Tel: +44 0 23 8076 0834
Fax: +44 0 23 8076 0833
mailto:tal-v5nx5w6akNyLE8xUarVfuPLx9OUvmyODWmv/[email protected]
http://www.it-innovation.soton.ac.uk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.