Friday, April 24, 2026

🎉 New version of BASIC Anywhere Machine

 

Changes / Enhancements

Summary

  • Rename NVL$ to FNEV
  • "EVAL" clause removed from GOTO, GOSUB and RESTORE statements
  • INPUT now allows expressions as the prompt argument

Details

Rename NVL$ to FNEV

I don't know what I was thinking.  "NVL" is a proprietary function name originating from Oracle SQL.  I've got no business, I think, calling my function that.

So, I've decided to rename NVL$ (which I was using to mean "No VaLue") to FNEV (First Non-Empty Value).

This function can be used with strings and with numbers.  (That's why the function name does not have a "$" suffix.)

For the immediate future, this function accepts two parameters.  If the first parameter is not empty ( "" is an empty string; 0 is an empty number), then the first parameter is returned.  Otherwise, the second parameter is returned.

Someday, I will change this function to allow more parameters, and set it up so that it returns the first "non-empty" value found.


"EVAL" clause removed from GOTO, GOSUB and RESTORE statements

The EVAL keyword was intended to indicate a parameter that is an expression and not a line identifier/number.

Really, parentheses are enough to indicate an expression is being provided instead of a line identifier/number.


(The syntax diagrams for GOSUB and RESTORE are the same.)

INPUT now allows expressions as the prompt argument




No comments:

Post a Comment

🎉 New version of BASIC Anywhere Machine

  New version of BAM Updated documentation Previous version of BAM Previous release notes Discuss:  BAM Reddit  or  BAM Discord  or BAM Café...