You wouldn't have to scan the entire structure for every invocation if you returned ASTs from extensions rather than strings that needed parsing, or if you parsed the strings returned from extensions into their own trees and grafted them into the tree.
Last time, I promise—the first chapter or so of SICP explains evaluation order concerns. It would really help you to read it.
In reply to Re^3: Fast enough yet?
by chromatic
in thread Fast enough yet?
by Logicus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |