win32lib 0.70+ and Euphoria 3.0-

new topic     » topic index » view thread      » older message » newer message

win32lib v0.60.x has been compatible with Euphoria 2.3 and later.

win32lib v0.70.1 and more have departed from this in a minor way. Commenting out
the two calls to task_yield() in win32lib.ew restores the correct working of the
library.

However, there is a question to ask.
Since Euphoria has changed since v2.4, and hopefully will keep adding new
features (though I have my doubts), it might be high time win32lib benefits from
the changes. Currently, to my knowledge, there are two options:

1a/ Declare that, from v0.70.1 on, win32lib is not compatible with versions of
Euphoria earlier than 3.0. This will allow $ and task_yield() in, but not
find_from(), match_from() or anything that might come in the future. This one
would have my vote.

1b/ Declare that, from v0.70.1 on, win32lib is compatible with the version of
Euphoria that is officially available at release time. This will allow $,
task_yield(), find_from(), match_from() in, as well as anything that might come
in the future. This one would have my vote.

2/ Allow only task_yield() in, and restore compatibility for v2.3 and 2.4. Users
of 2.5 alpha and official will still have to comment out the two statements,
unless someone knows how to parse code conditionally to interpreter version in Eu
2.5 and later. The late (r3 I think) 2.5 version supports task_yield() and thus
has no problems.

Very unfortunately, RDS had made no provision to test whether a given keyword
was supported otherwise than by crashing at compile time: whatever test is used,
the interpreter will barf at the unknown identifier. A version() function that
would work like platform() does would be useful in the future, but won't solve
issues from the past. (Under v2.4 and less, it can be implemented using the
dynamical include file contents trick). This definitely hampers efforts by
programmers to ensure some degree of backward compatibility.

3/ Of course, not allowing task_yield() in is ruled out.

What to do?

CChris

By the way, a 70.4 version might be ready somewhere in february. Some bug fixes
and a slew of small additions/enhancements left out from the to-do list for 70.3.
Field testing might start as soon as next weekend.

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu