> On 2/19/13, David A. Wheeler said:
> > in the process of adding lots of tests
> > I've identified a subtle bug in the Scheme implementation THAT isn't in the
> > ANTLR implementation.

Alan Manuel Gloria:
> Going only from your previous source descriptions (I don't have access
> to my hack machine right now), it feels like the problem is with
> propagating upwards the monadic fail operation ("failed due to *>")
> from the lower level SUBLIST handling.

I believe I just found and fixed the problem, and in some sense your intuition 
was correct.

In the ANTLR implementation, a "*>" would force a preceding EOL; I even 
documented this.  Unfortunately, I forgot to implement that in the Scheme 
implementation.  Ugh.  In the Scheme implementation, an EOL only has an effect 
if there's something between the indent and "*>", and only in certain cases at 
that.  Instead of doing exactly the same thing, I just force the value into a 
list if it's non-null (this is the final effect of the EOL insertion, and is 
way more efficient to accomplish in Scheme).  Although the code in that spot 
isn't *identical*, there's a clear and simple *mapping*, and that's the key 
point.

I now know of no bugs in the Scheme implementation, and we have (1) a big test 
suite and (2) a clear mapping to the BNF.

That's sadly not the same thing as "the Scheme code is bug-free", but it's a 
start.  If anyone encounters any bugs where it incorrectly maps correct 
sweet-expressions to wrong results, I *really* want to know.

--- David A. Wheeler

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to