Stefan Monnier wrote: >> The attached patch adds the pattern `cl-lambda` for Pcase, which works >> like `cl-destructuring-bind`. There are two differences with the lambda >> lists: > > Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase > patterns (both of which are rather featureful and complex) will help > their popularity. > > Beside that problem (which means I'm not very favorable to the > addition), the name should be changed because "lambda" is misleading. > It suggests this has to do with a function (I had to read the code to > understand what this is doing). > >> The pattern is useful when one wants to combine the features of `pcase` >> and `cl-destructuring-bind`, such combining the optional values with the >> `pred` or `guard` patterns. > > Do you have examples uses? > > Maybe we could introduce a different Pcase pattern which covers those > needs but stays closer to the Pcase pattern syntax? > > > Stefan > Hello, Because I wrote this patch with the thought that others might want it, I don't have any nontrivial examples to share right now. The best example I have for the use of the optional arguments is for the implementing of the optional arguments, which isn't very convincing. I've updated the patch to rename the pattern to `cl-arglist` and to avoid creating intermediate variables using the `let` pattern, but I'm fine with resting the discussion here until a stronger argument can be made in favor of the patch. Thank you.