-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vbs: merge {macro,quasiquote}expand into EVAL, add DEBUG-EVAL #703
Conversation
53c23e3
to
0369da7
Compare
Take the opportunity to remove an unused variable from first steps.
This change is not useful per se, but prepares DEBUG-EVAL.
Hello. For example, the current head outputs By the way, the following
|
@asarhaddon In the VBS language,
To be honest, I also think this rule is a little strange, and Microsoft's later language, VB.Net, has removed this restriction. Regarding your proposal to replace recursion with iteration, I think it is a good modification, especially in a language like VBS that does not have TCO, and can also improve efficiency. |
Thanks. That may be obvious for daily users, but not from the online docs to a beginner. The tests now pass, and take 75 minutes (60 before DEBUG-EVAL). We will see if the env.get optimization helps. |
You're welcome. |
@asarhaddon Try this:
|
I am only seeing your comments. Thanks a lot. I will use your env.vbs. |
Make the two remaining attributes public instead of defining getters and setters. Thanks to OldLiu001!
Done! |
Wow, that is very slow. |
Eval_ast was already reserved to lists.
env.vbs: rewrite env.get with a string argument and without exception because this is convenient for DEBUG-EVAL.
types.vbs: after a macro expansion, evaluate with TCO.