On 1/25/13, David A. Wheeler <dwhee...@dwheeler.com> wrote:
> Alan Manuel Gloria:
>> Heya, I should probably do these mods on the git repo directly...
>
> Yes indeed!  There's a reset protocol, please do so.
>
>> <h1><a name="related-srfis">Related SRFIs</a></h1>...
>
> Done.
>
>> Missing </p>:
>
> I separately noticed that.
>> Ara ara, should we spec this?
>>
>> <p>
>> A tool that reads sweet-expressions and writes out
>> s-expressions <em>SHOULD</em> specially treat ...
>
> I think we should, but maybe we need to clarify that
> this is a spec for a specific *tool*,
> not sweet-expressions themselves.

Yes, that needs to be clearer.

Maybe:

An "unsweeten" tool is the term for any tool that reads
sweet-expressions and writes out s-expressions.  Such a tool MAY be
provided by an implementation of this SRFI for use with any Scheme
implementation that does not implement this SRFI.  An "unsweeten" tool
SHOULD....


>
>
>> I'm mostly concerned with the ";#" and ";!" rules, ...
>
> You don't want to go there.  That creates complications because Scheme
> cannot undo reading two characters.

Yes, but this is describing a tool, not a Scheme implementation.  I
would presume that even if the tool were written in Scheme, it could
trivially (or not so trivially ^^;) wrap the underlying Scheme's ports
into something with unlimited read-ahead (or even just put the file
contents into a SRFI-41 stream of characters) and use its own
sweet-read implementation (haha, not so trivially, haha) that will use
unlimited-readahead ports like that.

Of course, not easy, but I'm more worried about the end-user
experience of having a file processed with unsweeten work differently
from being read directly into a Scheme.

Unless, of course, you specifically warn of the use case:

;#!fold-case ; needed if you use Third Party Hacker's unsweeten
#!fold-case

But this strikes me as brittle - in particular, consider the opposite order:

#!fold-case
;#!fold-case ; needed if you use Third Party Hacker's unsweeten

unsweeten sees #, which isn't ";".  So it invokes sweet-read.
sweet-read sees #!fold-case, which isn't an actual datum, so it looks
for another datum.  It sees the commented-out ;#!fold-case, which
still isn't a datum, and eats it.  And so on.

Sincerely,
AmkG

------------------------------------------------------------------------------
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