tpapp/let-plus — pull request #4 by scymtym (2012-12-29 02:23:25+00:00)
Title: Use let* in plist-r/o

I suggest using ``let*`` instead of ``let`` in the ``&plist-r/o`` expansion for two reasons:

* For parity with ``&plist``. Consider

```cl
CL-USER> (let+ (((&plist-r/o (a :a :a-default) (b :b a)) (list :c 1)))
(values a b))
=> Evaluation aborted on #.
CL-USER> (let+ (((&plist (a :a :a-default) (b :b a)) (list :c 1)))
(values a b))
:A-DEFAULT
:A-DEFAULT
```

* In general, ``let-plus`` has ``let*``-like semantic. IMHO, it would be consistent to behave in the same way for ``&plist-r/o`` with multiple bindings.

Of course, a workaround would be
```cl
CL-USER> (let+ ((list (list :c 1))
((&plist (a :a :a-default)) list)
((&plist (b :b a)) list))
(values a b))
```
but that seems a bit lengthy.