I followed the links from
lambda list > parameter > variable > binding > name >
identifier. I thought it was relevant because instead of literal symbols I was passing strings, which seems to be explicitly allowed.
But yes, I did anticipate that it would be a compiler optimization. I just hoped there would be a way, because the program would be a bit smoother (and I love using language features that let you just type what you mean even if it doesn't look like it should work).
I have a &rest function that operates as a middle-man to the user-generated function. The middle-man prefixes the argument list with the value of `this' and passes it on to the user's function. I was hoping to not have to declare functions with a reserved first parameter like in Python, but oh well. I'll just have the user pass a lambda that takes "this" as that first parameter.
I'm trying to design this in such a way that a JavaScript parser could be plugged (almost) directly into it. But even short of that, I both want to do it and want to see how prototypes (another of those language features I love) mix with Lisp. The code I'm writing right now, though, won't stay in anything I actually use in Lisp - even as a toy. It's just a compatibility layer for the parser, which I want to write once I'm advanced enough.
EDIT: Oh, but what is a lambda list with dots?
I'm off my grokker.
- Chris