Subject: bug#56641: Deprecate `lsh`

From: Po Lu <[email-masked]>
Date: Wed, 20 Jul 2022 20:21:59 +0800

Mattias Engdegård <[email-masked]> writes:

> The purpose of `lsh` is not breaking old code. (It used to have a
> different purpose but it vanished when bignums were introduced.)
> There is no reasonable use for it in new code.

So you're saying there is no possible use for expecting the value of
this:

  (lsh most-negative-fixnum -1)

to become:

  #x1000000000000000

> Even in the unlikely event of code that just happens to need that sort
> of quirky behaviour, it is much better implemented explicitly where
> it's used, in terms of `ash`.

Why is that better? What business does the byte compiler, or some idea
of "platform independence" have in dictating that I should write extra
code (instead of using something built-in) to implement a network
protocol?