2 ms·
> protoAST and AST hold the same information content Not really. protoAST lacks the knowledge the specific code walker adds. For example there is no way to fin
by lispm 8y ago
> protoAST and AST hold the same information content
Not really. protoAST lacks the knowledge the specific code walker adds. For example there is no way to find out whether FOO is a variable or a function without actually 'parsing' the code. If one uses a different syntax in the code walker, then the conversion generates a different parse.
- pflanze 8y ago> protoAST lacks the knowledge the specific code walker adds Yes, that's why I actually had said "by grouping the resulting s-expr with a context and a correct tree-walker". True, you could make that (let* ((protoAST (list expr* env core-CL-walker)) ..) ...) to be explicit. core-CL-walker changes only when the definition of the "core-CL" [1] changes, though, so it's probably a constant for practical purposes. [1] I don't know whether there is any standardization of such a thing. Probably not since macroexpand-all also isn't standard.