[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: First impressions of the specification

This page is part of the web mail archives of SRFI 110 from before July 7th, 2015. The new archives for SRFI 110 contain all messages, not just those from before July 7th, 2015.

Hi David,

"David A. Wheeler" <dwheeler@xxxxxxxxxxxx> writes:
> Here's a try at rewriting the spec.  Basically, I tried to introduce
> some definitions, and then drop to the BNF to actually define things.
> I tried to steal some of the approach from SRFI-49, since that was
> previously accepted.
> Is this a better way to proceed?  Comments?

I think this new draft is very promising.  However, there's still one
major piece missing: a description (in english) of what data structures
are created.  Somehow that needs to be integrated into this new text.

There's still a remnant of that in the SUBLIST bullet item, but it still
uses the unclear terminology of the RHS becoming the "last parameter" of
the LHS.  That entire bullet item is still unclear to me.

I still don't know what it means for "<A> to be made the last parameter
of <B>".  Even if I did, I don't like the use of "parameter" in the
description of a datum reader.  I'm glad that you tried to clarify what
the RHS is ("including all child lines"), but it's still not clear how
the RHS is converted into a datum.  The LHS is still mysterious to me.
Does it include parent lines?  How is it converted into datum(s)?

So IMO, you should find a clearer way to describe in english how these
syntactic elements are converted into datums, and then you should
integrate such descriptions into the whole of the "Basic specification",
so that all of the rules are covered.

I think that most readers will find the BNF quite intimidating, so it
would be good if casual readers could obtain a reasonably clear
understanding of the rules without reading the BNF.  This new text is a
great start, but IMO it needs to include an english description of the
action rules as well.

Other than that, just a few minor points:

* 'eol sequence: [...] (short for "horizontal space")'
  I guess that "horizontal space" is a mistake, no?

* "simplifying simplifies" => "simplifying"

* Re: "leading traditional abbreviation (quote, comma, backquote, or
  comma-at)": IMO, for readers that support the syntax-case
  abbreviations (#' #` #, #,@), I think that it ought to be _mandatory_
  for these to be handled in the same way as for (' ` , ,@).