[syntax] let-keywords kv-list allow-other-keys? (binding ...) body ...
[syntax] let-keywords* kv-list allow-other-keys? (binding ...) body ...
Guile: extracts value associated of keywords specified in binding, and binds them accordingly, then evaluates body ....
Binding can be just a variable, or (variable default).
If allow-other-keys? is false, an error is thrown if keywords not listed in binding is found in kv-list.
Let-keywords and let-keywords* differ in terms of binding timing of variables.
[syntax] let-keywords* kv-list (binding ...) body ...
[syntax] let-keywords* kv-list (binding ... . other-keys) body ...
Gauche: only has let-keywords* variant, and slightly different from Guile's. Doesn't take allow-other-keys?; instead, providing other-keys argument let the form accept keywords that aren't listed in bindings, and those unmatched kv-list is bound to other-keys.
Binding can be either (variable default) or (variable key default).
About This Site
Concept:CaseSensitivity Concept:ExtendedLambdaList Concept:FileSystem Concept:HashTable Concept:Module Concept:Networking Concept:ObjectSystem Concept:Process Concept:RegularExpression Concept:UserGroup