Re: proposed: use abstract syntax notation (asn06)

> Michael Kifer wrote:
> >> Michael Kifer wrote:
> >>     
> >>>>> I find the formulation
> >>>>>
> >>>>>     Implies
> >>>>>        head: LitForm
> >>>>>        body: Condit
> >>>>>
> >>>>> makes it much more clear that "head" and "body" name the roles that the
> >>>>> parts of the implication statement play.
> >>>>>       
> >>>>>           
> >>>> Ah; that's a good illustration.
> >>>>
> >>>> Like Michael (13 Nov 2006 20:21:21 +0100) I'm happy to use turtle,
> >>>> I'm beginning to see your point.
> >>>>     
> >>>>         
> >>> I am not against a frame notation like the above. But in my view this has
> >>> to do with an ontology of rule parts rather than with the syntax.
> >>> When we do XML syntax I don't think it is useful to get out of our way to
> >>> emphasize that the head and the body can come in any order. In fact, this
> >>> is useless and harmful, IMO.
> >>>   
> >>>       
> >> Michael,
> >>
> >> To paraphrase your own message of 11/11,
> >>
> >> Can you please formulate what exactly is the problem using more concrete terms?
> >> What is the problem with asn06 syntax that Sandro has used and how does BNF resolve that?
> >>
> >> I do not understand your objection nor your use of the terms "useless" and "harmful" here.
> >>     
> >
> > The attribution of "useless" and "harmful" is very clear in the above, and
> > it doesn't refer to Sandro's proposal as such.
> > The "useless" and "harmful" refers to going out of the way to ensure that
> > XML syntax doesn't order the terms.
> >   
> 
> OK, then you haven't understood the proposal.  It is not about ordering, 

I think I did understand. Ordering was one and the only issue that was
mentioned as an advantage.

> it is about identifying the role something plays in a piece of syntax.  
> Imagine a language (like FOL) where the head and body of the rule have 
> the same syntax, in BNF you would have something like:
> 
> Rule: <expr> :- <expr>

How about:

Rule ::=  Head :- Body
Head ::=  expr
Body ::=  expr

You can achieve the part-naming effect with BNF in this way.


> 
> Whereas in a frame-based abstract syntax you say:
> 
> Rule
>   head: <expr>
>   body: <expr>
> 
> And as we will see, extensions to the language actually look like 
> extensions, rather than having to rewrite large parts of the BNF for 
> each one.

If you design BNF the right way then you can achieve the same effect.


> 
> > (I emphasized that, in principle, I am not against an ontology for rule
> > parts which is how I see Sandro's.)
>   
> 
> Indeed, they are related, and this is another advantage.
> 
> > Regarding the "problem", which I see, I also explained it in a previous
> > message: Our progress is slow because we are getting side-tracked by
> > tertiary issues.
> >   
> 
> There are many reasons why our progress has been slow.  But this issue 
> is primary, so let's get it out of the way so we can get to the next one.


I don't think that the choice of notation for specifying the syntax is even
a secondary issue.


	--michael  

Received on Tuesday, 14 November 2006 03:57:58 UTC