I said:
> > Found and fixed.  The BNF action rule for "head SUBLIST rhs" used the monify
> > function, which was completely unnecessary (I think this was a cut-and-paste
> > from elsewhere and I didn't remove the monify).

Alan Manuel Gloria:
> That's the first thing I thought when I saw your bug report ^^.

Sigh.  I'm only human, a fact I try to demonstrate daily :-).

So I'm trying to use a mixture of approaches to make the
final SRFI spec and implementation really high-quality:
1. ANTLR grammar checks (so grammar's more likely to be right)
2. Two implementations of the new spec (so grammar is widely implementable)
3. Big automated test suite, including checks with the old version results
    (so that the actual interpretation is what was intended, and that the
     implementation is more likely to be right).
4. Peer review.  That'd be you guys :-).

> Looks good.  My approach is still getting modded several times in my
> head.  I think my approach will allow us to use a simple parser
> combinators sublibrary (but really requires SAME due to the branch
> after head).  I'm a bit busy IRL; I'll try to hack together something
> using my alternative approach this weekend, but no promises.

As an experiment, that approach sounds interesting, but I really do *NOT*
want to use that approach for either the SRFI spec or the SRFI implementation.
As I mentioned before, such a spec won't have the additional ANTLR
grammar checks (unless you implement it in ANTLR).
Also, I want to ensure that the shown-implementation has properties like
(1) it doesn't depend on advanced Scheme capabilities (so it can port to
not-quite-Schemes and other Lisps) and (2) it closely matches the spec.
Also, the stronger separation of the pieces, while making each part simpler, 
will
hide from humans how they combine, the very issue I want to make crystal-clear.

> Feel free to return some of the test cases you removed and add a few
> more.  The test of letterfall is to play it ^^.  In theory, all you
> need to do is replace the readable/kernel.scm with the new version on
> a fresh-from-the-tarball copy of letterfall and just ./configure &&
> make && ./letterfall.  Of course if you need an env variable make sure
> to do the make inside the SWEETNEW=new env (letterfall itself doesn't
> use the sweet-reader, only the Makefile does).

Fair point.  I'm actually checking to see if the old and new sweet-read 
implementation
generate exactly the same output, which is a way stronger requirement.

--- David A. Wheeler

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Readable-discuss mailing list
Readable-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/readable-discuss

Reply via email to