> 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