Re: Developing BBC BASIC



On Mar 12, 1:04 pm, Rob Kendrick <n...@xxxxxxxx> wrote:
By formal, I mean a document that provides a specification for what new
features are to added, where they're valid to be used, what
interpretation should be used in any cases of ambiguity, implementation
details, suggestions for dealing with corner-cases and effect on existing
code.

Ah, I think I somewhat misunderstood what you meant by 'formal
specification'. I was imagining something in a formal language like
BNF, or at least mathematically provable.

One thing I definitely think I've acquired in the past 27 years is a
good feel for the 'spirit' of BBC BASIC, i.e. what things are 'in
keeping with' the way BBC BASIC has always worked and what are not.
None of my extensions should result in surprises, and if there are any
ambiguities somebody else with a wide experience of BBC BASIC (both
externally and in terms of implementation) would most probably arrive
at the same conclusion. Anyway, the structure of the existing
interpreter will more than likely leave little room for manoeuvre.

As I said previously, it would probably be too onerous to insist on
100% compatibility with my extensions. The rest of BBC BASIC isn't
fully compatible, so why should the extensions be? To that extent a
'complete' specification could even do more harm than good, in making
compliance unreasonably challenging.

What probably would be helpful is to expand on implementation issues
which might not be immediately obvious. For example, supporting
PRIVATE arrays implies that you must be able to re-DIM an existing
array, so long as it has identical dimensions to that which it had
initially (the DIM is simply ignored). As a side-effect, in BB4W you
can *always* re-DIM an existing array (whether it's PRIVATE or not) so
long as its dimensions are unchanged, but that's not officially
documented.

Personally I think the most expedient and effective way to communicate
these implementation issues is not for me to try to write a document
(it would be bound to be incomplete, and probably inaccurate) but for
whoever might consider extending ARM BBC BASIC to correspond with me
directly. That could be on a public forum if it was thought
beneficial.

Richard.
http://www.rtrussell.co.uk/
To reply by email change 'news' to my forename.
.



Relevant Pages

  • Re: Is it possible to delete an element from a sorted array with O(1) time?
    ... Is it possible to delete an element from a sorted array with Otime? ... integers in constant time" as asking whether there are sequences that can ... "it is possible to add requirements such that deletion of an arbitrary ... more natural) interpretation. ...
    (comp.programming)
  • Re: Access to Objects
    ... "An object shall have its stored value accessed only by an lvalue expression and that lvalue expression has one of the following types..." ... int func{ ... a reasonable interpretation that some reader could have. ... there is indeed ambiguity here - after all, ...
    (comp.std.c)
  • Re: Access to Objects
    ... a reasonable interpretation that some reader could have. ... there is indeed ambiguity here - after all, ... means to say that an "expression accesses an object". ...
    (comp.std.c)
  • Re: NBC: LOST
    ...  I find that interpretation every it as valid ... saying one way or the other, so therefore....viola, Ambiguity. ... chose not to show Tony being killed, but to strongly imply that it ... Chase had a radio interview with Richard Belzer where he comes close ...
    (rec.music.artists.springsteen)
  • RE: assembler question (strong typing)
    ... All that IO did was change the interpretation of the index expression. ... For any subscripted access to an array, ... APL is a language where typing was implicit, but could be changed on the ... scope or local scope (within a ...
    (bit.listserv.ibm-main)