On Wed, 19 Feb 2003 12:18:29 +0100, TonyTebby <[EMAIL PROTECTED]> wrote:


This "macro substitution" in Foxpro is not really anything to do with
macros - it is a run-time expression evaluator that parses and evaluates a
string.

Foxpro can do it because it is based on early purely interpreted Bill Gates
BASIC which always parses all statements every time they are executed.
JavaScript also has an eval() function because javascript is (nearly) purely
interpreted. SuperBASIC, SBASIC, VisualBASIC and JAVA cannot because they
program is compiled to execute a fixed sequence of pseudo instructions
written for a "virtual machine" (Java bytecodes), an "engine" (Pascal
p-codes) or a "run-time interpreter" (S*BASIC, VisualBasic).

Hello Tony,
My only comment regarding FoxPro is historical. FoxPro is NOT based on M$ Software (ie it did that wayyyyy before FoxBase was bought off my Microsoft so they could use the Rushmore engine for Access. Many of the scripting technologies M$ uses now incorporated Fox technologies (As per usual if they can't replicate it, they buy it :-)

Phoebus

P.S. On the other hand S(uper) Basic does things most languages can't even dream of doing (In that aspect it would be rather interesting to see a .NET implementation of S*Basic) like for example the power of its coercive features is unknown anywhere!
Try to add floating point numbers (of a standard S*Basic size) with a number string and integers in ANY other language... The results are rather interesting ;-) (If not incomprehensible ;-))) C++ is such an example :-). Not to mention that creation of strings that can make parts of commands that are almost impossible to do (without a lot of extra code) anywhere else.
Recently someone at the university asked me why I still used SBasic (and I usually bring to the labs a QPC Zip disk)... I challenged him to do a vector addition program (with Graphics) in any Basic and it to be under 5 lines of code and it to be precise enough for the results to be used as scientific-grade data.... guess what? He couldn't ;-)

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

Reply via email to