I have just released a developer's release of Marpa--R2
<https://metacpan.org/pod/release/JKEGL/Marpa-R2-2.105_000/lib/Marpa/R2.pm>
on CPAN, which is a release candidate for a indexed release in which I will
bump the major version number to 3.0.

The reason is a bug <https://github.com/jeffreykegler/Marpa--R2/issues/254>
discovered by latk.  If you were specifying the per-parse argument
explicitly, for example as $recce-value($ppo), where $ppo was a blessed
object, and there was a new() method in $ppo's package, then the SLIF did a
very round-about and counter-intuitive thing.  Instead of using $ppo, it
called the new() method and used its result.

This behavior was also contrary to the documentation of the $recce->value()
method <http://search.cpan.org/~jkegl/Marpa-R2/pod/Scanless/R.pod#value()>.
Unfortunately,  the documentation of the per-parse argument
<https://github.com/jeffreykegler/Marpa--R2/blob/master/cpan/pod/Semantics.pod#the-per-parse-argument>
and per-parse constructor
<https://github.com/jeffreykegler/Marpa--R2/blob/master/cpan/pod/Semantics.pod#the-per-parse-constructor>
were not consistent with the documentation of the value() method.  They
have been corrected.

Because current users may have been relying on the buggy behavior, this
change is not backward compatible.  That is, if your application relies on
a blessed argument to the $recce-value() method not being used directly as
the per-parse argument, but instead being thrown away in favor of the
result of that arguments new() constructor, then it may fail.  Few
applications will fall into this category, but some might.

To warn of this backward incompatibility, I am bumping the major version #
of Marpa::R2.  It's a very small change for a major version # bump, but I
take backward compatibility seriously -- I prefer not to disrupt it at
all.  Where necessary for a bug fix, I prefer to risk signalling
inconsequential changes to underplaying a change which does affect a legacy
app.

Discussion, comments, etc., are welcome.

Thanks, jeffrey

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to