Am 26.07.2017 um 02:48 schrieb Shiro Kawai:

On Tue, Jul 25, 2017 at 2:09 AM, Panicz Maciej Godek <xxxxxx@gmail.com> wrote:
I did trace the suggestions for using _ instead of <>, but I failed to find any rationale for preferring <> over _ -- neither in the SRFI itself,
nor in the discussion archive.

See my argument below why _'s established role in R7RS is a different one that the role needed by SRFI 26.


You're right that there's no trace why '_' is dropped over '<>'.  I don't recall why either.
I do have one reason though.  I frequently use '_' as an argument in lambda list when I don't care what is passed, e.g. (map (lambda (_) #t) lis).   But inside such functions I won't be able to use (is _ < x) for the '_' here won't match the literal '_'. 
It isn't a showstopper; after all, It can happen for any other literal macro keywords such as else or =>.  We do need to consider the convention, though.  It's less frequent that someone accidentally use <> as a parameter variable.

If we go with '_' as a placeholder, a better future direction would be to establish a convention to use _ as a syntactic keyword to show don't care argument in the lambda list.  E.g. make (lambda (x _ _) something) valid if you only use the first argument.  Then, as far as srfi-156 definition imports the same syntactic keywords, shadowing won't be a problem.

(lambda (x _ _) something) is parallel to the other use of _ in Scheme, so far, namely the use of _ in syntax-rules patterns. So it makes a lot of sense. On the other hand, the role of _ in (is _ < x) is not the same. In the latter case, the argument corresponding to _ is not neglected. (That's why I wrote in an earlier post that <> is more consistent than _-

Marc