Ah! Now I get it! Thank you very much! On Sat, Oct 2, 2021 at 6:39 PM David Kastrup <d...@gnu.org> wrote:
> "Omid Mo'menzadeh" <omid.mnza...@gmail.com> writes: > > > I'm just re-stating this to make sure I'm getting it right: Definitions > are > > lazy, and the expression in front of # is lazy too, so it gets a chance > to > > see the definition once it's done? Am I right? > > It's not a definition but an assignment, and the assignment is not > "lazy" but executed as soon as it is complete. Recognizing its > completeness may require examining the type of the next token, and the > type of $ depends on its value (which consequently needs to be evaluated > to figure out its type) while the type of # doesn't. > > -- > David Kastrup >