Amir Teymuri <ateymur...@gmail.com> wrote: > I had a question about the objectives and reasons of allowing > un-specified key arguments in functions as soon as i want to have some > key arguments.
Any DSSSL style arguments (#!rest, #!optional and #!key) always are optional arguments to the procedure. You can think of them as working this way: (lambda (foo #!key bar qux) your-code) => (lambda (foo . rest) (let ((bar (get-keyword-arg #:bar rest)) (qux (get-keyword-arg #:qux rest))) your-code)) If you want to have a more strict handling of them, you might want to write your own superset of “lambda” and/or “define”, that check what you need. _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users