> I would not call pattern matching on list destructuring. Those two full name have additional
> word like bind and assignment
"Binding" and "assignment" can be used anywhere you create variables or
change their values.
"Destructuring", as Marc says, means taking elements out of a structure.
"Pattern matching" is a case expression where you can match on the
structure of a collection (the elements in a collection, and their place
in a hierarchy of nested collections).
After you pattern-match, you usually want to do something with the
elements that matched. So almost all pattern-matching systems have
destructuring built in. E.g. regexp groups (a*)(b*) are pattern matching
and back-references \1 \2 are destructuring.
Common Lisp's destructuring-bind can be thought of as a pattern matching
system that matches only one pattern.
> I'm also worried because I've never seen proper destructure-bind in Scheme.
A useful version of destructuring-bind could certainly be written in
Scheme. But it uses Common Lisp's syntax for function arguments, which
the rest of Scheme is currently not using anywhere.