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