Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New version 1.6.10 released!
#6
Hmm I forgot to upload it to the wiki.
But you can check the Changelog file (included with ZX Basic sources) or read it directly in the git repository:
<!-- m --><a class="postlink" href="https://bitbucket.org/zxbasic/zxbasic/src/7175665153802ebd14d7c474f566c2fd1b0712ec/ChangeLog?at=master&fileviewer=file-view-default">https://bitbucket.org/zxbasic/zxbasic/s ... ew-default</a><!-- m -->

Anyway, the greatest change is the one about to come:
Expanded syntax. After much effort (and 3-5 yrs) I've finally managed to allow to call SUBs without parenthesis.
This will allow users to "expand the ZX Basic syntax". For example:
Code:
SUB Ellipse(x, y, r1, r2)
...
END SUB
...
...

Ellipse 128, 97, 45, 80: REM yes, no parenthesis

So a sub will look like a command. It will also allow to redefine ZX Basic primitives (DRAW, CIRCLE, PLOT, BORDER...).
And for functions with 1 parameter I'm working on it too (yes, I'm thinking on you, Britlion and your fastSQR library for example).

IF this is done, then ALL of the "core" functions (SIN, COS, TAN..., RND) and SUBS (DRAW, CIRCLE, PLOT, BORDER, RANDOMIZE, etc) could be taken out, into a library (e.g. Sinclair.bas?) which will be used transparently and let other people to define their owns, or even ones that resemble MSX or CPC Basic dialects (so they don't have to write PLOT, but "PSET" instead). Indeed, ATTR, POINT and SCREEN$ are already external functions.

The problem with DRAW, CIRCLE, PLOT, PRINT etc. is that they allow "modifier" (INK 7, PAPER 5, etc...). So my final idea is to include a command line flag, that will disable these "standard core functions" (and their syntax) to allow the user to define a new CIRCLE implementation, for example.

These and support for READ, DATA, RESTORE (and with the same complexity and power Sinclair BASIC allows, like DATA x * x + 5, that is, lambda anonymous functions) are the roadmap for 1.7.x
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)